栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

java整数参考

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java整数参考

如其他答案所述,Java仅 按值调用 ,而

++
运算符仅影响变量,而不影响对象。如果要模拟 按引用调用
,则需要传递一个可变对象(如数组)并修改其元素。

Java
API为此有一些专门的对象,例如

java.util.concurrent.atomic.AtomicInteger
(它还可以在多个线程上工作)和
org.omg.CORBA.IntHolder
(用于CORBA机制的远程调用的按引用调用)。

但是您也可以简单地定义自己的可变整数:

class MutableInteger {    public int value;}class C {   public C(int[] i) {       ++i[0];   }}class D {   public D(MutableInteger i) {       ++i.value;   }}class E {   public E(AtomicInteger i) {       i.incrementAndGet();   }}public class Jaba {    public static void main(String args[]) {        int[] iii = new int[]{ 0 };        System.out.println(iii[0]);        new C(iii);        System.out.println(iii[0]);        MutableInteger mi = new MutableInteger();        System.out.println(mi.value);        new D(mi);        System.out.println(mi.value);        MutableInteger ai = new AtomicInteger(0);        System.out.println(ai);        new E(ai);        System.out.println(ai);    }}


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/509028.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号