1、请看代码如下:
public class LongTest { public static void main(String[] args) { System.out.println("--------------------------------"); Long value = Long.valueOf(0L); System.out.println("value="+value); changeLongValue(value); System.out.println("value="+value); } public static void changeLongValue(Long value){ value = Long.valueOf(1000L); System.out.println("change Long value ="+value); } }
2、请先猜一下输出结果,我猜的输出结果是:
value=0 change Long value =1000 value=1000
3、如果你和我想的是一样的,恭喜你,我们都错了。正确的结果是:
value=0 change Long value =1000 value=0
4、解释:
1)代码:
value = Long.valueOf(1000L);
等价于:
value = new Long(1000L);
value 的值在 changeLongValue 中重新分配了指向的地址,main 中的value 指向并没有被改变。等同于这个逻辑的还有String类型。
5、参考资料:
http://www.blogjava.net/junglesong/archive/2008/02/22/181246.html
相关推荐
标题“Java是值传递,传对象引用也是通过值”揭示了Java中参数传递的核心概念。Java总是以值传递方式进行,这意味着当你将一个变量作为参数传递给方法时,传递的是该变量所存储值的一个副本。然而,对于对象类型的...
今天,我们将讨论如何在 Lotus Domino Java 代理中获取传递值 JSON。 代理程序的作用 在 Lotus Domino 服务器上,代理程序可以用来处理用户请求,并返回相应的数据。代理程序可以用 Java 语言编写,具有很高的灵活...
Java参数传递机制是一个常见的面试问题,它涉及到Java语言的基础特性。Java中参数传递的方式有两种理解:值传递和引用传递,但这两种说法实际上是对同一...在面试或讨论中,理解这一点对于正确解释Java的行为至关重要。
在Java中,所有的参数传递都是按值传递,但这并不意味着对象变量也是如此。这是因为Java中对象的引用是按值传递的,而对象本身则是按引用访问的。以下是对这个概念的详细解释。 1. **按值传递**: 在Java中,当...
Java的参数传递方式实际上是一种特殊的"值传递",通常被称为"按引用传递对象的引用",这与C++等语言中的引用传递有所不同。以下是对这个主题的详细解释。 在Java中,所有的参数传递都是基于值的,但这涉及到一个...
当讨论方法参数时,有两种术语经常被提及:值传递(Call by Value)和引用传递(Call by Reference)。Java参数传递的规则是:**Java只使用值传递,但这种值传递对于对象参数表现为类似引用传递的行为。** 在值传递...
本文将深入探讨Java中的方法调用、值传递与引用传递,并通过字节码分析来进一步理解这些概念。 首先,我们来看方法调用。在Java中,方法是一组完成特定任务的代码块,可以通过方法名来调用执行。方法调用的基本语法...
本文意在终结这个话题,Java 中有说法:Java 里面参数传递都是按值传递,怎么理解这句话? 按值传递和按引用传递是来自 C++ 语言的概念。引用不是汉语词典中的一个词,而是 C++ 的概念——“&”这个符号。为什么有...
Java中的参数传递方式一直以来都是一个讨论的热点,尤其是在学习编程初期,值传递和引用传递的概念可能会引起混淆。本文将深入探讨Java中参数传递的实质,以帮助理解和澄清这一问题。 首先,我们需要理解值传递和...
在本文中,我们将讨论 Java 方法参数传递中的引用类型传递。 在 Java 中,引用类型包括类、接口、数组等,都是对象的引用。这些引用类型在传递过程中,会将对象的引用传递给方法体内的变量,而不是对象的副本。因此...
Java 参数传递机制是编程中的重要概念,尤其是在Java中,它涉及到“值传递”和“引用传递”的理解。这里我们将深入探讨这两个概念,并结合给定的示例代码进行解析。 首先,我们看“值传递”。在Java中,基本类型...
Java 中的参数传递机制是一个经久不息的讨论话题,究竟是“传值”还是“传引用”,双方各执一词,互不相让。本文将通过详细的分析和实例,揭开 Java 参数传递机制的奥秘。 基本类型作为参数传递 首先,我们来看...
实际上,Java中所有的参数传递都是按值传递,这意味着当你将一个变量传递给方法时,方法接收到的是该变量的副本,而非变量本身。对于基本类型(如int、double等),这个副本就是变量的值。而对于对象类型,副本是...
根据标题和描述,本文将深入探讨Java中函数参数传递的机制,究竟是值传递还是引用传递。实际上,Java只支持值传递,但这种值传递对于引用类型(对象)的数据有着特殊含义。 首先,值传递是指当函数调用时,实际参数...
值传递是Java中最常见的方式,当一个变量的值被传入方法时,实际上是创建了该变量的一个副本。这意味着在方法内部对参数的任何修改都不会影响到原始变量的值。例如: ```java public class ValuePassing { public ...
例如,在C++或Java等语言中,基本数据类型(如int、float)的参数传递就是值传递。下面是一个简单的示例: ```cpp void changeValue(int x) { x = 20; // 这里只是改变了局部副本的值 } int main() { int num = ...
Java在处理简单数据类型(如int、boolean等)时采用的是按值传递的方式。这意味着当你将一个简单类型的值作为参数传递给一个方法时,实际上传递的是这个值的一个副本。因此,即使在方法内部修改了这个值,也不会影响...
Java中参数传递的基本原则可以总结为:对于所有类型的参数,Java总是进行值传递。然而,对于基本类型和对象引用,"值传递"的概念有所不同。 首先,对于基本类型(如int、char、float等),Java会将变量的值直接复制...
接下来,我们讨论如何在Java后台(控制器)接收这些值。由于复选框可以选中多个,所以后台通常使用数组或集合来接收。在Spring MVC框架中,我们可以创建一个方法来处理POST请求,参数是一个String数组: ```java //...