【发布时间】:2018-09-07 19:15:04
【问题描述】:
我从服务器获取 JSON,然后使用 GSON 解析 JSON。我想确定 JSON 中的字符串元素是否等于另一个字符串变量。但是,当 String.equals() 应该返回 true 时,它会返回 false。
Java 代码:
JsonElement element = parser.parse(response.toString());
if (element.isJsonObject()) {
JsonObject data = element.getAsJsonObject();
JsonArray stud = data.get("students").getAsJsonArray();
for(int i = 0; i < stud.size(); i ++){
String t = stud.get(i).getAsJsonObject().get("StudNum").toString();
System.out.println("t = " + t);
if (t.equals("F02660934")){
System.out.println("equal"); //never prints
}
}
}
控制台输出:
t = "F02660934"
t = "002660934"
t = "002643472"
t = "002664906"
是否将“F02660934”与 F02660934 进行比较,因此返回 false?
提前致谢!
【问题讨论】:
-
您的字符串似乎有引号。试试
t.equals("\"F02660934\"") -
这很有效,谢谢@killjoy 你能把它作为答案发布,这样你就可以获得声望分