变量默认值

Ива*_*вац 3 java variables default-value

"重要的是要指出模板的内容字段默认设置为null(因为Java在创建时与所有未初始化的对象字段一起使用)."

它来自"JavaSpaces Principles Patterns and Practice"一书

这是代码:

public class Message implements Entry {
  public String content;
  public Message() {
  }
}
Run Code Online (Sandbox Code Playgroud)

我想知道这是否属实,因为我在互联网上的某个地方看到这不是真的吗?

kyl*_*ylc 6

是的,这是事实,但它可能并不意味着你认为它意味着什么.如果未指定任何值,则将初始化所有对象字段null,但基本类型具有其他默认值.例如,int字段默认为0,floats to 0.0booleans to false.

有关这些默认值的更多信息,请访问:http://download.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html.


avh*_*avh 5

这可能是正确的,但如果您确实想确保content以 null 开头,请显式设置它。(这样做也可以更清楚地表明您的代码content最初打算为空。)

public String content = null;
Run Code Online (Sandbox Code Playgroud)