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