【发布时间】:2016-09-19 12:03:28
【问题描述】:
我面临一个问题,要编写一段 java 代码,例如:
boolean isFoo(String maybeFoo){
//Return true if maybeFoo is equal to "Foo"
//Don't throw any exceptions.
}
我有两个选择:
1. return "Foo".equals(maybeFoo);
2. return maybeFoo==null?false:maybeFoo.equals("Foo");
我选择了数字 1,但我无法给出数字 2 错误的原因。我对面试官说,处理强类型语言只是我的习惯。但他似乎并不满足。
【问题讨论】:
-
2.中
maybeFoo的方法是什么? -
您的第二个选项也可以是
return maybeFoo!=null && maybeFoo.equals("Foo");。 -
我认为这些选项是面试官给出的
-
return Objects.equals(maybeFoo, "Foo")怎么样?这是另一种方式,也是一种干净的方式。
标签: java equals strong-typing