java中怎么传整形的引用?

LoveDelhi 2012-04-09 09:28:48
如果一个方法需要传至少两个整形类型,并要求能够传出来,请问怎么弄?

也就是java中怎么传基本类型的引用?

不至于为了这么简单的功能再写一个自己的类吧?麻烦不说,还丑陋啊。



boolean aa(Integer a, Integer b)
{
a = a * a;
b = b * b;
return true;
}

Integer a = 5;
Integer b = 6;
aa(a, b);
out.println("" + a + "" + b);




...全文
637 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
dxqrr 2012-04-13
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 的回复:]

引用 10 楼 的回复:

用包装类:Integer

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

用包装类:Integer
[/Quote]
错误答案,Integer,还有String,BigDecimal之类,都是immutable,也就是不可变对象
dxqrr 2012-04-10
  • 打赏
  • 举报
回复
用包装类:Integer
bearzyj2011 2012-04-10
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]

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

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

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

本人也初学,如果撇开思维方式好坏,纯粹从实现来看,按照2楼的说法,那就是说,基本类型只能传值,不能使用引用(或称句柄)咯??
wydhao123 2012-04-10
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]

数组是一个解决方案,但是lz可能还没领悟到java的思维方式。不是说java的思维方式就是正确的,就是最好的。

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

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

建议……
[/Quote]
这个提议好
dalancon 2012-04-10
  • 打赏
  • 举报
回复
LZ看看吧 嘿嘿
dalancon 2012-04-10
  • 打赏
  • 举报
回复
[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]
Acesidonu 2012-04-10
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]
数组是一个解决方案,但是lz可能还没领悟到java的思维方式。不是说java的思维方式就是正确的,就是最好的。

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

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

建议在……
[/Quote]
++
fangzhen2005 2012-04-09
  • 打赏
  • 举报
回复
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;
}

}
shine333 2012-04-09
  • 打赏
  • 举报
回复
数组是一个解决方案,但是lz可能还没领悟到java的思维方式。不是说java的思维方式就是正确的,就是最好的。

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

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

建议在学习java或者其他语言(包括人类/编程语言)的时候,也按照这种入乡随俗的方式thinking in ...
magong 2012-04-09
  • 打赏
  • 举报
回复
用数组好了,数组中的元素可以被修改。

62,615

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧