int a = 1;
int b = a;
b++;
System.out.println(a);
// a = 1
ListNode a = new ListNode(1);
ListNode b = a;
b.next = new ListNode(2);
System.out.println(a);
// a is 1 -> 2
对于Java八大基本数据类型,是值传递
Java的8大基本数据类型( 8 primitive types )分别是:
(1)整数类 byte, short, int, long
(2)浮点数类 double, float
(3)逻辑类 boolean
(4)文本类 char
对于非数据类型,传递原地址的副本
String 类型是值传递
尽管 String 类型在Java语言中属于非基本类型,但对 String 的存储实际上是通过 char[] 来实现的,并且 char 是基本数据类型。同理,Integer 和 Float 作为 int 和 float 的包装类,也是值传递。
参考
https://www.jianshu.com/p/afccceaff6ed
https://blog.51cto.com/freej/168676