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);
}
也可以实现传递后改值 ,
推荐方案1,尽量避免

java 中 Integer 传参方式的问题的更多相关文章

  1. 在Java中动态传参调用Python脚本

    最近,又接触到一个奇葩的接口,基于老板不断催促赶时间的情况下,在重写java接口和复用已有的python脚本的两条路中选择了后者,但是其实后者并没有好很多,因为我是一个对python的认识仅限于其名称 ...

  2. react中的传参方式

    react是一个SPA模式,即组件嵌套租,在一个单页面的应用中组件间的数值传递是必不可少的,主要的传参方式大致有一下几种: 1,在挂载的地方给组件传参 ReactDOM.rander(<a na ...

  3. Web API中的传参方式

    在Restful风格的WebApi的里面,API服务的增删改查,分别对应着Http Method的Get / Post / Delete /Put,下面简单总结了Get / Post /Delete ...

  4. axios中post传参方式

    最近做vue项目,做图片上传的功能,使用get给后台发送数据,后台能收到,使用post给后台发送图片信息的时候,vue axios post请求发送图片base64编码给后台报错HTTP 错误 414 ...

  5. Java的对象传参问题

    在c/c++中对于传参类型,无外乎就是传值.传引用.传指针这几种.但在java中,由于没有指针类型,其传参的方式也发生了相应的变化.之前有搜过相关的知识点一直理解的是:Java的传参方式中主要有两种: ...

  6. mock和axios常见的传参方式

    第一次接手项目,传参方式还有些吃力,因此做一下总结. 首先我们需要会看swagger中的接口.里面写了某个接口需要接收什么样的值,前端怎么传递这个值 在mock中的传参方式: mock中传参的方式有两 ...

  7. java 传参方式--值传递还是引用传递

    java 传参方式--值传递还是引用传递 参数是按值而不是按引用传递的说明 Java 应用程序有且仅有的一种参数传递机制,即按值传递.写它是为了揭穿普遍存在的一种神话,即认为 Java 应用程序按引用 ...

  8. Vue-cli中axios传参的方式以及后端取的方式

    0917自我总结 Vue-cli中axios传参的方式以及后端取的方式 一.传参 params是添加到url的请求字符串中的,用于get请求. data是添加到请求体(body)中的, 用于post请 ...

  9. awk中传参方式

    结合编辑数据文件的shell脚本学习awk传参方式,该脚本功能: a.取VIDEOUSR_11082017_0102_ONLINE_STASTIC.dat文件中第87个字段的低8位: b.将每行数据的 ...

随机推荐

  1. [UE4]游戏主循环

    游戏的运行模型 理解游戏的运行模型,对处理很多游戏错误有非常大的帮助. 游戏是有一个主循环的.那么游戏主循环做了什么事情呢? 游戏主循环一次就表示一帧,游戏主循环包括:接受输入.处理游戏逻辑.渲染.S ...

  2. 搞定queryString

    querystring字面上的意思就是查询字符串,一般是对http请求所带的数据进行解析.querystring模块只提供4个方法: querystring.parse querystring.str ...

  3. adb显示 部分乱码修改方法

    用windows自带的命令行[cmd]软件链接adb 设备后,部分显示乱码,如下图片所示: 图1 修改方法如下: alias ls='busybox ls --color=never' 修改后显示正常 ...

  4. 迭代器&可迭代对象

    迭代器 能够被next调用, 并不断返回值的一个对象惰性排序, 一次只获取一个数据, (占用一个空间)迭代器可以遍历无限量的数据 特点: 1.惰性序列, 节省内存 2.遍历使用next, 方向不可逆 ...

  5. 屏蔽windows快捷键的方法

    using System; using System.Collections.Generic; using System.Text; using System.Windows.Forms; using ...

  6. jscs sublime 插件配置 .jscsrc 文件

    { "disallowEmptyBlocks": true, "disallowKeywordsOnNewLine": ["else", & ...

  7. SMP、NUMA、MPP体系结构介绍

    从系统架构来看,目前的商用服务器大体可以分为三类,即对称多处理器结构 (SMP : Symmetric Multi-Processor) ,非一致存储访问结构 (NUMA : Non-Uniform ...

  8. rsyncd

    rsync是一个快速.通用的文件复制工具.支持两种工作模式:基于shell的传输.基于服务的传输.1.配置文件 rsyncd.conf文件由模块及其参数构成.模块由方括号包裹模块名称,直到下一个模块结 ...

  9. 压缩(zip)

    默认情况这些压缩工具在压缩后会删除源文件(zip除外):而且默认只压缩文件,而不压缩目录(链接到打包程序). gzip bzip2 zip GNU tar 1.gzip 1.1.压缩 gzip 压缩工 ...

  10. PL/SQL将sql脚本数据导入Oracle

    PL/SQL将sql脚本数据导入数据库: 1.首先,使用plsql登录到需要导入数据的数据库.在[tools]--[Import tables] 2.选择第二个[SQL Inserts],在下面,点击 ...