Phi*_*ffi 1 java string performance equals
我有一个从数据库返回的字符串,其长度总是等于1.
此String可能等于"0","1","Y","N"或null,这实际上是数据库中由于日志目的而不允许替换的约束.
考虑到值"Y"或"N"不区分大小写,那么更具性能的是什么?
public boolean isTrue {
return this.str != null && (this.str.equals("1") || this.str.equalsIgnoreCase("S"));
}
Run Code Online (Sandbox Code Playgroud)
要么
public boolean isTrue {
if (this.str != null) {
final char character = this.str.charAt(0);
return character == '1' || character == 'S' || character == 's';
}
return false;
}
Run Code Online (Sandbox Code Playgroud)
PS:请不要考虑方法,字段和变量的名称.
为了检查我的信"01YN",我会这样做
public boolean isTrue {
return this.str != null && ("01YN".indexOf(this.str)>=0);
}
Run Code Online (Sandbox Code Playgroud)
我认为这是一种清晰易读的方式.更多的你可以声明一个Constant for "01YN"和do,而不是硬编码.