我有这门课
public class Model {
private String a;
private String b;
public synchronized String getA() {
return a;
}
public synchronized void setA(String a) {
this.a = a;
}
public synchronized String getB() {
return b;
}
public synchronized void setB(String b) {
this.b = b;
}
}
Run Code Online (Sandbox Code Playgroud)
我试图得到的值a,我知道默认情况下这个变量初始化为null.但是,如果我调用该getA()方法,之后这个变量是否有字符串"null"(不是null除了String)?所以a.equals("null") == true.
public static void main(String[] args) throws ParseException {
Model m = new Model();
String test = m.getA();
m.getA().equals("null");//No Exception occurs
Run Code Online (Sandbox Code Playgroud)
}
事实上,我评估String的代码是Android应用程序的一部分:
mAirline = (Airline) extras.getSerializable("airline");
@SuppressWarnings("unused")
String test = mAirline.getPhone(); //(1)
String test2 = mAirline.getHref(); //(2)
Run Code Online (Sandbox Code Playgroud)
如果我检查mAirline in(1)mAirline的字段为null,但在(2)中有一些为"null"而我的get方法是
public synchronized String getPhone() {
return phone;
}
Run Code Online (Sandbox Code Playgroud)
不,使用您向我们展示的代码,您不可能自动获得String "null".
但请注意,某些方法会转换null为"null".最值得注意的例子是PrintWriter.println()(如System.out.println())和String.valueOf().
System.out.println(null);
System.out.println("null".equals(String.valueOf(null)));
Run Code Online (Sandbox Code Playgroud)
这些线将打印null(即,4个字符)和true分别
| 归档时间: |
|
| 查看次数: |
4894 次 |
| 最近记录: |