首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java包装类.参数的更改值

Java包装类.参数的更改值
EN

Stack Overflow用户
提问于 2021-10-08 16:47:53
回答 1查看 1.1K关注 0票数 0

在查找为什么使用包装类时,我一直看到以下内容:

如果我们希望修改传递给方法的参数(因为原语类型是通过值传递的),则需要

对象。

如果我们将参数设置为返回值,则可以修改java中的primitive

  • everything通过值

传递

这句话到底是什么意思?有人能举个例子吗?

我搜索了为什么使用包装类,并得出如下结论:

  1. https://www.tutorialspoint.com/why-do-we-need-a-wrapper-class-in-java

  1. https://www.geeksforgeeks.org/need-of-wrapper-classes-in-java/

  1. https://www.javatpoint.com/wrapper-class-in-java

他们都说同样的话。这是完全错误的,还是他们想说别的什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-10-08 18:02:09

引用自https://www.tutorialspoint.com/why-do-we-need-a-wrapper-class-in-java

如果我们希望修改传递给方法的参数(因为原语类型是由值

传递的),那么对象是必需的。

引用自https://www.geeksforgeeks.org/need-of-wrapper-classes-in-java/

如果我们希望修改传递给方法的参数(因为原语类型是通过值传递的),则需要

对象。

引用自https://www.javatpoint.com/wrapper-class-in-java

但是,如果我们在一个对象中转换原语值,它将改变原始值。

在包装方面,它们确实是完全错误的。原语类型的包装类都是不可变的,一旦创建了包装器对象(当然不包括反射),包装器中的实际(原始类型)值就不能更改。因此,即使您有以下代码块:

代码语言:javascript
复制
Integer outside = Integer.valueOf(42);
someMethod(outside);

代码语言:javascript
复制
public static void someMethod(Integer inside) {
}

变量outsideinside将引用Integer.valueOf()创建的相同对象,这无助于更改outside变量本身的引用值或outside引用的对象。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69499268

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档