`
lizhuang
  • 浏览: 904603 次
  • 性别: 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);
}
分享到:
评论

相关推荐

    Delphi值传递和引用传递实例

    Delphi,作为一款基于Pascal语法的面向对象的编程环境,提供了两种主要的参数传递机制:值传递(ByValue)和引用传递(ByReference)。这两者在处理函数或方法的参数时有着显著的区别,对程序性能和数据安全有直接...

    java参数传递时到底是值传递还是引用传递[归类].pdf

    Java的参数传递方式实际上是一种特殊的"值传递",通常被称为"按引用传递对象的引用",这与C++等语言中的引用传递有所不同。以下是对这个主题的详细解释。 在Java中,所有的参数传递都是基于值的,但这涉及到一个...

    Java中的按值传递和按引用传递的代码详解

    在Java中,String和Integer等内置对象也是按值传递的。例如,在上面的实验中,我们使用String类型的变量str,并将其传递给changeStr方法。在changeStr方法中,我们将str的值改为"改变的",但是输出结果仍然是str = ...

    java 之方法调用 方法传参 值传递还是引用传递字节码

    本文将深入探讨Java中的方法调用、值传递与引用传递,并通过字节码分析来进一步理解这些概念。 首先,我们来看方法调用。在Java中,方法是一组完成特定任务的代码块,可以通过方法名来调用执行。方法调用的基本语法...

    JAVA-int和Integer的区别

    总的来说,`int`适合于需要高性能计算和节省内存的情况,而`Integer`则在需要对象特性的场景下更有优势,例如集合操作、参数传递或序列化。在实际开发中,选择合适的数据类型取决于具体需求和上下文。了解并熟练掌握...

    VB参数传递方式判别与解题应用

    当调用过程时,实参与形参通过两种主要的传递方式匹配:按值传递和按地址传递。 1. **按值传递**:在这种方式下,实参的值被复制到形参中。形参得到的是实参的一个副本,因此在过程内部对形参的任何修改都不会影响...

    Integer缓存池案例1

    在Java中,基本类型的传参是按值传递,对象的传参看似是引用传递,实际上是按共享对象的引用传递值。在上述例子中,虽然a和b看起来是Integer对象,但实际上它们是Integer对象的引用。在swap方法内部,即使改变了局部...

    Java参数传递及值传递实现原理详解

    Java参数传递及值传递实现原理详解 Java语言中,参数传递是方法调用过程中的一种机制,讲述了Java参数传递及值传递实现原理详解。参数传递有两种方式:按值传递和按引用传递。 1. 按值传递(Call by Value) 按值...

    浅谈Java中真的只有值传递么

    Java中的参数传递方式一直以来都是一个讨论的热点,尤其是在学习编程初期,值传递和引用传递的概念可能会引起混淆。本文将深入探讨Java中参数传递的实质,以帮助理解和澄清这一问题。 首先,我们需要理解值传递和...

    DELPHI用参数传递函数的实例..rar

    在Delphi中,函数参数的传递主要有两种方式:值传递(ByVal)和引用传递(ByRef)。值传递意味着函数接收到的是参数值的一个副本,对参数的修改不会影响到原始变量;而引用传递则使得函数可以直接操作原始变量,因此...

    VB参数传递方式判别与解题应用[汇编].pdf

    VB支持两种基本的参数传递方式:按值传递(ByVal)和按地址传递(ByRef)。理解这两种方式以及如何判别它们在实际编程中至关重要。 一、按值与按地址传递的内涵 1. 按值传递:当形参通过ByVal修饰时,实参的值被...

    Mybatis Integer类型参数值为0时得到为空的解决方法

    Mybatis Integer类型参数值为0时得到为空的解决方法 Mybatis 是一个流行的持久层框架,广泛应用于 Java 应用程序中。然而,在使用 Mybatis 进行数据库操作时,经常会遇到一些棘手的问题。其中之一就是当 Integer ...

    浅析java中Integer传参方式的问题

    总的来说,Java中的Integer参数传递涉及到值传递、对象的不可变性和如何在方法内部修改对象值的策略。在实际编程中,应该根据具体需求选择合适的解决办法。通常,如果只需要返回新的值,使用返回值是最简单的选择;...

    Java引用变量传递诡异之处

    3. **理解按值传递的概念**:Java中的所有参数传递都是按值传递的,即使是引用类型也不例外。这意味着在方法内部对参数的修改不会影响到外部的原始变量。 掌握这些核心概念对于理解Java中引用类型的行为至关重要,...

    Java方法参数传递机制原理解析

    值传递是指基本数据类型的参数传递,值传递的体现是数值的传递。在值传递中,方法调用时传递的参数值是基本数据类型的副本,而不是原始变量的引用。例如,在上面的示例代码中,`swap`方法中传递的参数`num1`和`num2`...

    PowerBuilder窗口之间传递多参数的方法

    // 创建结构体实例并设置值 lstr_declaredstr lstrparmtotrans lstrparmtotrans.id = 1 lstrparmtotrans.name = "panya" lstrparmtotrans.email = "panya@163.net" lstrparmtotrans.homepage = ...

    浅析Java引用类型和方法参数传递

    - **分析**:在这个例子中,`x1` 的值虽然被传递给了 `triple` 方法中的 `x2`,但由于是按值传递,因此 `x2` 的修改不会影响到 `x1` 的原始值。 ##### 2. 引用传递 - **原理**:尽管被称为“引用传递”,但其实...

    Java中int和Integer的区别.doc

    综上所述,`int`和`Integer`虽然都可以用来表示整数值,但在Java中它们有着本质的不同。`int`是基本数据类型,直接存储值;而`Integer`是`int`的包装类,存储的是指向该值的引用。在实际编程过程中,选择使用哪种...

    VB参数传递(传值ByVal与传址ByRef)[整理].pdf

    在过程定义时,必须明确指定参数是按值传递的,在形参的前面加上关键字 ByVal。例如,Public Sub Swap( ByVal x As Integer, ByVal y As Integer)。 传址方式(ByRef) 传址方式也称引用方式,是 VB 默认的参数...

    方法的参数的传递机制1

    在编程中,方法的参数传递机制是一个至关重要的概念,它涉及到如何将实参(实际参数)的值传递给形参(形式参数)。这里我们将详细探讨两种主要的参数传递方式:值传递和引用传递,并重点关注Java中的特殊情况,如...

Global site tag (gtag.js) - Google Analytics