为什么这不起作用?JAVA
这是为了检查用户是否输入为什么这不起作用?JAVA,java,string,if-statement,irc,Java,String,If Statement,Irc,这是为了检查用户是否输入!注册密码 无论我做什么,它总是说密码不正确。我做错了什么?使用String#equals而不是=来比较字符串 因此,不是: public void onMessage(String channel, String sender, String login, String hostname, String message) { if (message.toLowerCase().startsWith("!up")) { String[] args
!注册密码
无论我做什么,它总是说密码不正确。我做错了什么?使用String#equals而不是=
来比较字符串
因此,不是:
public void onMessage(String channel, String sender, String login, String hostname, String message) {
if (message.toLowerCase().startsWith("!up")) {
String[] args = message.split(" ");
String pass = "password";
if (args[1] == pass){
op(channel, sender);
sendMessage(channel, sender+": you now have op");
}else{
sendMessage(channel, sender+ " incorrect pass");
sendMessage(channel, "" +args[1]);
}
}
}
你应使用:
if (args[1] == pass) {
...
}
使用字符串#equals而不是=
来比较字符串
因此,不是:
public void onMessage(String channel, String sender, String login, String hostname, String message) {
if (message.toLowerCase().startsWith("!up")) {
String[] args = message.split(" ");
String pass = "password";
if (args[1] == pass){
op(channel, sender);
sendMessage(channel, sender+": you now have op");
}else{
sendMessage(channel, sender+ " incorrect pass");
sendMessage(channel, "" +args[1]);
}
}
}
你应使用:
if (args[1] == pass) {
...
}
使用
使用
args[1].equals(pass)
而不是args[1]==pass
args[1].equals(pass)
应改为
if (args[1] == pass)
因为in==case编译器会检查不同的引用值,但是当使用equals()而不是reference时,会检查字符串的内容
应改为
if (args[1] == pass)
因为in==case编译器会检查不同的引用值,但是当使用equals()而不是reference时,会检查字符串的内容。必须使用if(args[1].equals(pass))必须使用if(args[1].equals(pass))可能重复的