什么是null?
是null一个什么的实例?
什么集合null属于?
它是如何在记忆中表现出来的?
class CheckStore {
private String displayText;
private boolean state;
private String meaningfulText;
private URL url;
public CheckStore(String text, boolean state) {
this.displayText = text;
this.state = state;
}
:
:
}
Run Code Online (Sandbox Code Playgroud)
由于我只在构造函数中初始化两个变量(displayText和state),其余两个变量(meaningfulText以及url具有该值的变量null)是否需要内存空间来存储null值.
Q1.我认为他们需要空间.如果他们愿意,那么一个int值在内存中占用多少内存(比如displayText需要4个字节).
Q2.字符串在内存中占用多少空间.我想这将取决于字符串的长度.那么一个字符串需要多长的空间?
有时,或者好吧,我经常需要查看String是否为null,所以我使用这样的条件:
if(str != null) {
}
Run Code Online (Sandbox Code Playgroud)
它工作正常,直到今天,现在甚至是因为某种原因而无法通过的字符串.有谁知道解释?还是解决方案?
编辑:好的,所以由于某种原因,字符串似乎不是null,这是非常奇怪的,因为我从未定义它是什么,只是明确它存在.所以相反,字符串是单词"null"的字符串.我完全不知道它为什么会这样?当我做以下时:
String str;
Run Code Online (Sandbox Code Playgroud)
然后它会自动为空,对吗?无论哪种方式,如果不是为什么它会变成字符串"null"?