我有这个代码在从网址中检索值时工作得很好,但它没有认识到字符串是“True”是toString()我需要的东西还是别的东西?
try {
URL url = new URL("http://www.koolflashgames.com/test.php?id=1");
URLConnection yc = url.openConnection();
BufferedReader in = new BufferedReader(new InputStreamReader(yc
.getInputStream()));
inputLine = in.readLine();
inputLine = inputLine.toString();
if(inputLine == "True") {
logger.info(inputLine);
player.sendMessage("Thanks");
}else{
logger.info(inputLine);
player.sendMessage("HAHAHA");
}
in.close();
} catch (Exception e) {
e.printStackTrace();
}
答案 0 :(得分:4)
您无法使用==
来比较字符串的内容,因为它们是对象。您必须创建一个比较对象的方法。对于字符串,您可以使用stringName.equals(otherString)
。
答案 1 :(得分:3)
您必须使用equals来比较字符串。替换:
if(inputLine == "True") {
使用:
if(inputLine.equals("True")) {
operator ==告诉您两个引用是否引用同一个对象,而不是值是否相同。
答案 2 :(得分:3)
我不同意见。使用.equalsIgnoreCase()
方法比较忽略大小写的字符串。这将匹配所有情况,例如“True”,“TRue”,“tRue”等大约16场比赛。
答案 3 :(得分:2)