Java:糟糕的操作数类型
发布时间:2020-12-15 02:04:58 所属栏目:Java 来源:网络整理
导读:我是初学者,如果这个问题很愚蠢我很抱歉. 我写了以下代码: public class Traindata {String City;public Traindata(String t_city) { if(t_city == "Judenburg" || "Knittelfeld" || "Zeltweg" || "Leoben" || "Bruck/Mur" || "Kapfenberg") { City = t_cit
我是初学者,如果这个问题很愚蠢我很抱歉.
我写了以下代码: public class Traindata { String City; public Traindata(String t_city) { if(t_city == "Judenburg" || "Knittelfeld" || "Zeltweg" || "Leoben" || "Bruck/Mur" || "Kapfenberg") { City = t_city; } else { System.out.println("City not allowed: " + t_city + "n"); } 我要做的是检查t_city是否与其中一个允许的城市(Judenburg,Knittelfeld,Zeltweg,Leoben)相同. 但是当我尝试编译代码时,我收到此错误消息: 那么任何人都可以帮助我吗?我想我用的是“||”错了,但我无法让它发挥作用. E:谢谢大家,我甚至不知道equals()存在. 解决方法
您的代码中存在两个问题:您需要使用equals来比较Java字符串,并且需要重复使用比较来构造||表达:
if(t_city.equals("Judenburg") || t_city.equals("Knittelfeld") ... ) 更好的是,构造一个HashSet< String>你希望匹配的城市,并使用包含方法来检查条件: Set<String> cities = new HashSet<String>(Arrays.asList( "Judenburg","Knittelfeld","Zeltweg","Leoben","Bruck/Mur","Kapfenberg" )); ... if (cities.contains(t_city)) { ... } 这是一个demo of this later approach on ideone. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |