lamaba 表达式中不能对基本数据类型进行操作

Posted huoyufei

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了lamaba 表达式中不能对基本数据类型进行操作相关的知识,希望对你有一定的参考价值。

 String s = "123";
 System.out.println(System.identityHashCode(s));
 s = "456";
 System.out.println(System.identityHashCode(s));
============打印结果==============

2111991224
292938459


 技术图片

 


原来,匿名内部类也会被当作普通的类处理,只不过编译器生成它构造方法的时候,除了将外部类的引用传递了过来,还将基本数据类型的变量复制了一份过来,并把引用数据类型的变量引用也传递了过来。因此,基本数据类型的变量当然不能修改了,不然就会跟外部的变量产生不一致,这样的话变量的传递也就变得毫无意义了。

解决: 声明一个对象,对该对象的属性进行操作.

 

以上是关于lamaba 表达式中不能对基本数据类型进行操作的主要内容,如果未能解决你的问题,请参考以下文章

Java的按位操作符

Java的按位操作符

运算符重载

WCF服务编程一书中写到:契约操作不能使用引用对象参数,只允许使用基本类型或者数据契约?

深入了解Redis操作五大数据类型常用命令

Java基础(34):Java中基本数据类型的包装类(主要为了不同数据类型之间更方便的进行转换)