>伙计们如何比较字符串和字符?
这是我的代码:
private String s;
private char c;
public K(String string, char cc){
setS(string);
setC(cc);
}
public void setS(String string){
this.s = string;
}
public void setC(char cc){
this.c = cc;
}
public boolean equals(K other){
return s.equals(c);
}
public boolean try(){
return s.equals(c);
}
如果我调用我的方法try
,即使我设置s = "s"
和c = 's'
.
我要对任何初级开发人员说的第一件事是不要使用"try"这个词作为方法名称,因为try是java中的保留关键字。
其次,认为在您的方法中需要考虑一些事情。
如果你比较两种不同类型的事物,它们永远不会相同。字符串可以为空。字符串有多长。第一个字符。
我会这样写方法:
public boolean isSame() {
if (s != null && s.length() == 1 {
return s.charAt(0) == c;
}
return false;
}
要么使用 char 比较(假设 s 的长度始终为 1(:
return c == s.charAt(0);
或者使用字符串比较:
return s.equals(new String(new char[]{c}));