当前位置:编程学习 > JAVA >>

java中怎么传整形的引用?

--------------------编程问答-------------------- 用数组好了,数组中的元素可以被修改。 --------------------编程问答-------------------- 数组是一个解决方案,但是lz可能还没领悟到java的思维方式。不是说java的思维方式就是正确的,就是最好的。

通常,java是按照对象来处理的,某个相关的功能,交给类自己,或者将整个对象作为一个整体作为参数传递,而不是分开作为两个参数传递。

这就好比,中文习惯说“我认为这个不...”,而英文一般习惯说“I don't think ...”。没谁对,谁错,完全是习惯问题。

建议在学习java或者其他语言(包括人类/编程语言)的时候,也按照这种入乡随俗的方式thinking in ... --------------------编程问答-------------------- java 中传入引用再更改引用对象值这样做是很不安全的
经常会出现下面的情况 
 void change(A x) {
     x = new A;
     x.method;
}
虽然上面只是简单的写了下,但是这种情况引起的bug是不少的。
最好是 return
按照面向对象的思想
class A {
    private int a;
    private int b;
    public void setA(int i) {
       a = i;
    }
    ...
}
A aa(A a){
 int x = a.getA();
 a.setA(x*x);
 ...
 if(...){
   return a;
 } else {
   return null;
 }
 
} --------------------编程问答-------------------- --------------------编程问答--------------------
引用 2 楼  的回复:
数组是一个解决方案,但是lz可能还没领悟到java的思维方式。不是说java的思维方式就是正确的,就是最好的。

通常,java是按照对象来处理的,某个相关的功能,交给类自己,或者将整个对象作为一个整体作为参数传递,而不是分开作为两个参数传递。

这就好比,中文习惯说“我认为这个不...”,而英文一般习惯说“I don't think ...”。没谁对,谁错,完全是习惯问题。

建议在……

++ --------------------编程问答-------------------- [code=public] class Swap
{
    public static void main(String[ args)
    {
        //SwapTest st=SwapTest(2,3);  不能这样写,因为2,3为基本数据类型int型的,而非对象Integer型
        Integer a=new Integer(2);
        Integer b=new Integer(2);
//        System.out.println(a==b);//false 说明a和b不是指向同一个对象
        SwapTest st=new SwapTest(a,b);
        System.out.println("before swap:");
        st.outPut();
        st.dataSwap(a,b);
        System.out.println("after swap:");
        st.outPut();
    }
}

class SwapTest
{
    Integer a=null;
    Integer b=null;
    
    public SwapTest(Integer a,Integer b)
    {
        this.a=a;
        this.b=b;
    }
    
    protected void dataSwap(Integer x,Integer y)
    {
//        Integer temp=x;
//        x=y;
//        y=temp;
     this.a = y;
     this.b = x;
    }
    
    protected void outPut()
    {
        System.out.println("a="+a+" b="+b);
    } 
}][/code] --------------------编程问答-------------------- LZ看看吧 嘿嘿 --------------------编程问答--------------------
引用 2 楼  的回复:
数组是一个解决方案,但是lz可能还没领悟到java的思维方式。不是说java的思维方式就是正确的,就是最好的。

通常,java是按照对象来处理的,某个相关的功能,交给类自己,或者将整个对象作为一个整体作为参数传递,而不是分开作为两个参数传递。

这就好比,中文习惯说“我认为这个不...”,而英文一般习惯说“I don't think ...”。没谁对,谁错,完全是习惯问题。

建议……

这个提议好 --------------------编程问答--------------------
引用 5 楼  的回复:
引用 2 楼  的回复:
数组是一个解决方案,但是lz可能还没领悟到java的思维方式。不是说java的思维方式就是正确的,就是最好的。

通常,java是按照对象来处理的,某个相关的功能,交给类自己,或者将整个对象作为一个整体作为参数传递,而不是分开作为两个参数传递。

这就好比,中文习惯说“我认为这个不...”,而英文一般习惯说“I don't think ...”。没谁对,谁错,……


本人也初学,如果撇开思维方式好坏,纯粹从实现来看,按照2楼的说法,那就是说,基本类型只能传值,不能使用引用(或称句柄)咯?? --------------------编程问答-------------------- 用包装类:Integer --------------------编程问答--------------------
引用 10 楼  的回复:
用包装类:Integer

错误答案,Integer,还有String,BigDecimal之类,都是immutable,也就是不可变对象 --------------------编程问答-------------------- 再补充一下那个思维方式的话题,之所以要入乡随俗,就是因为大家都是这么思考,包括Java语法的制定者,JDK或者其他类库、框架的编写者,也包括你的同事,都是以同样一种思维方式(或许是好的或许是不好的,who cares)在工作,你只有融入他们,才能事半功倍,否则,多半是撞了南墙还一事无成。 --------------------编程问答-------------------- 楼主 把你的需求描述一下,你要用计算就用Math啥不就行吗?
写代码的时候尽量把形参 实参弄清楚,这么写是方便,给别人看,头晕
--------------------编程问答-------------------- java是面对对象的,应该直接对象操作,新定义一个类。。 --------------------编程问答--------------------
引用 11 楼  的回复:
引用 10 楼  的回复:

用包装类:Integer

错误答案,Integer,还有String,BigDecimal之类,都是immutable,也就是不可变对象

阁下批评的是,一时大意忘了
补充:Java ,  Java SE
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,