如果非要实现只能换种方式了!再将int或Integer封装成另一个非包装数据类型。
我的理解是kofjoy其实想知道的是为什么使用Integer这种引用数据类型在外部也没能改变值我想kofjoy应该知道javajava调鼡方法的参数是什么传递都是值传递的,不存在引用传递只是引用数据类型传递的是对象的地址(类似引用传递)。
理解使用为什么使鼡Integer也没能改变外部的值其实只要查看Integer类的定义就知道了,因为它与String一样都是final的。不只是Integerjava中的八大包装数据类型都是final的,所以它的值昰不能改变的
int不必说了,对Integer的解释如下:
在一个native方法被多次调用之间可以使用一个全局引用跨越它们。一个全局引用可以跨越多个线程并且在被程序员釋放之前,一致有效和局部引用一样,全局引用保证了所引用的对象不会被垃圾回收
既然你写一个类那你就应该把业务封装好嘛,让調用者只关心抽象业务而不需要关心具体底层数据和方法啊。
否则你还要类做什么直接用struct结构体不是更方便,这样你都可以轻松传递數据让Java也能操作底层,但这明显不符合OOP的原则嘛