相关疑难解决方法(0)

在Java中,为什么我们可以像使用String一样使用String类?

在Java中我们通常会这样做:

Class myObject = new Class();
Run Code Online (Sandbox Code Playgroud)

因为new关键字返回一个地址.

但为什么我们这样做呢?:

String myString = "Hello";
Run Code Online (Sandbox Code Playgroud)

仿佛String是一个原始人?

我向老师问了这个问题,他回答说这是因为引号中的内容相当于一个地址,但他不确定.你确定吗?

"Hello"是否存储在String类的实例变量中?

java string class

24
推荐指数
3
解决办法
1586
查看次数

Java包装类是否真的不可变?

Java Wrapper类应该是不可变的.这意味着一旦创建了一个对象,例如,

Integer i = new Integer(5);
Run Code Online (Sandbox Code Playgroud)

它的价值无法改变.但是,干嘛

i = 6;
Run Code Online (Sandbox Code Playgroud)

完全有效.

那么,在这种情况下,不变性意味着什么呢?这与自动装箱/拆箱有关吗?如果是这样,有没有办法阻止编译器这样做?

谢谢

java wrapper

20
推荐指数
4
解决办法
2万
查看次数

标签 统计

java ×2

class ×1

string ×1

wrapper ×1