`
lizhuang
  • 浏览: 889234 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Integer值传递

    博客分类:
  • Java
 
阅读更多
Java本身都是值传递式的调用,对于对象传递的是地址值。给地址值重新赋值等于重新指向,不会影响外层。
而且这里Integer对象也有特殊性。其实现上可能类似
class Integer{
final int value; //一旦赋值,就不能改变。
}
这就出现:调用时传的地址值不能改变外层+对象本身又不能改变。导致这个值没法改变
解决方案很多
1、java风格就是,单个值用返回值。return i; 外面再i=foo();赋值;多个值用数组或对象。
2、传递自己的封装类。class MutableInteger{ int value;}
3、传递专用AtomicInteger原子整型对象
    public static void main(String[] 参数) {   
AtomicInteger i=new AtomicInteger(40);
i.intValue();
System.out.println(i);
}
    public static void change(AtomicInteger i) {
    i.set(55);
}
分享到:
评论

相关推荐

    python最大值最小值maxinteger-(Python基础教程之十)Pythonma .pdf

    如果字符串作为参数传递,则在字典上的最⼤值。 1.1. Find largest integer in array >>> nums = [1, 8, 2, 23, 7, -4, 18, 23, 42, 37, 2] >>> max( nums ) 42#Max value in array 1.2. Find largest string in ...

    各大互联网公司常见java面试题

    来源k6k4 答案参考:java常见面试题 1、面向对象的特点有哪些? 2、接口和抽象类有什么联系和区别? 3、重载和重写有什么区别? 4、java有哪些基本数据类型? 5、数组有没有length()方法?...9、什么是值传递和引用传递?

    VB书本第4--7章习题参考答案.doc

    按值传递 5.按地址传递 6.Public x As Single 7.Static x As Integer 8.Form2.y 三、程序阅读题(写出下列程序的运行结果) 程序1. s = 2 程序2. 1 程序3. 1 1 2 1 1 2 1 2 2 2 2 3 s = 5 1 1 s = 9 1 2 1 1 ...

    java设计模式【之】享元模式【源码】【场景:多缓存可选模式】

    * 外部状态:属性值由参数决定,依赖传递值 * * 实现思路 * 多个位置的操作,需要相同的一些对象,此时将相同的一些对象封装进一个工厂内,创建后持久化到内存中 * 可以在任意位置,通过key进行获取同一地址的...

    java笔试题

    18、当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递? 19、String和StringBuilder、StringBuffer的区别? 20、重载(Overload)和...

    head first java

    值传递 Getters与Setters 封装 数组中的引用 习题 5 超强力方法 创建战舰游戏 简单版 编写伪码 测试 编写程序 完成版 用Math.random()产生随机数 预先输入好的程序 循环 类型转换 用Integer.parseInt()转换字符...

    delphi 录制鼠标动作

    参数lpfn指定消 息函数,在相应的消息产生后,系统会调用该函数并将消息值传递给该函数供处理。函数的一般形式为: Hookproc (code: Integer; wparam: WPARAM; lparam: LPARAM): LRESULT stdcall; 其中code为系统...

    VB编程,下雪,窗口抖动

     GetPixel用于取得场景(这里是整个屏幕)中某点的颜色值  释放由GetDC()获取的设备场景句柄,否则可能造成系统锁死  定义“区域”数据结构,但实际上并没有用到,因为仅需在函数InvalidateRect中传递一个空的...

    swagger-to-mock:Swagger3(OpenAPI 3)的模拟数据生成器CLI

    昂首阔步 Swagger3(OpenAPI 3)的模拟数据生成器CLI ...integer : 0 boolean : true array : [] object : {} 例子 如果我们传递 responses : ' 200 ' : description : pet response content : application/json :

    2013年最全的JAVA面试题集,内部资料,绝对能帮助到你,不要后悔哦。

    15. 当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?(等级1级) 16.. Overload和Override的区别。Overloaded的方法是否可以改变...

    vb程序屏幕飘雪!!!

    Private Type RECT '定义“区域”数据结构,但实际上并没有用到,因为仅需在函数InvalidateRect中传递一个空的RECT参数 left As Long top As Long right As Long bottom As Long End Type Dim rect1 As RECT ...

    东大22春《可视化程序设计(VB)》在线平时作业2-00001

    9.若某过程声明为Sub aa(n as integer),则调用 实参与形参是按地址传递。10.在窗体上画一个命令按钮,其名称为Command1,然后编写如下事件过程: Private Sub Command1_Click() a = 12345 Print Format$(a, 000.00) ...

    c/c++ 学习总结 初学者必备

    a) 一个整型数(An integer) b) 一个指向整型数的指针(A pointer to an integer) c) 一个指向指针的的指针,它指向的指针是指向一个整型数(A pointer to a pointer to an integer) d) 一个有10个整型数的...

    java面试题及答案.doc

    29. 当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递? 30. 当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此...

    goncurrent:Golang之类的频道并选择Java

    渠道通道是输入队列,您可以通过该队列发送和接收值。 就像Java中的BlockingQueue。 Chan<Integer> ch1 = Chan.create(1) // '1' is the buffer length of the channelch1.send(10); Integer value = ch1.receive();...

    Lotus公式语言函数简介

    @DDEExecute 将指定的命令串传递给由一个对话标识符标识的 DDE 应用程序,@DDEExecute 通常和 @DDEInitiate 与 @DDETerminate 配合使用 @DDEInitiate 初始化与 DDE 服务器的一个对话,并返回该对话的标识符 @DDEPoke...

    Android实现轮播图无限循环效果

    在getCount()方法中,返回一个很大的值,Integer.MAX_VALUE 在instantiateItem()方法中,获取当前View的索引时,进行取于操作,传递进来的int position是个非常大的数,对他进行求余数 在destroyItem()方法中,同样 ...

    东大22春《可视化程序设计(VB)》在线平时作业1-00001

    1.下面程序段运行后,变量Value的值为( )。 x=20 IF x=10 Then Value =5x Else Value =4x2....14.若某过程声明为Sub aa(n as integer),则调用 实参与形参是按地址传递。15.下面程序段是计算( )公式的。

    storext:在ActiveRecord的顶部添加类型转换和其他功能

    类型( String , Integer ) 目前,该宝石使用因此您可以传递接受的选项 依存关系 Rails 4.x,5.x,6.x 维特斯 安装 将gem 'storext'添加到您的Gemfile并bundle install 。 用法 使用jsonb(PostgreSQL 9.4+) ...

    jasmine-jscheck:轻松将jscheck集成到茉莉花规格中

    简单的填充程序,允许使用来自茉莉花的jscheck 使用茉莉花测试运行器来运行js... 可以通过this.reps设置尝试生成的值的数量,并将其传递给JSC.reps 欢迎提出任何改进建议/请求请求,我是jasmine内部和jscheck的新手。

Global site tag (gtag.js) - Google Analytics