JAVA语言 判断字符串是否相等

我这有一个程序,在List当中查找对象,然后根据查找结果进行处理。查找时的方式是通过字符串匹配进行判断。但是程序当中出现了问题,判断匹配处和预期结果不一致,请帮忙看看是什... 我这有一个程序,在List当中查找对象,然后根据查找结果进行处理。查找时的方式是通过字符串匹配进行判断。但是程序当中出现了问题,判断匹配处和预期结果不一致,请帮忙看看是什么原因?

源代码:
遍历搜索方法:
private AclNode searchPolicyAclNode(String aclName, int aclNum) {
System.out.println("find ACL name: " + aclName + "; ACL number: " + aclNum);

for (AclNode node : aclList) {
System.out.println("check ACL name: " + node.getAclName() + "; Acl number: " + node.getAclNum());

if (aclNum == node.getAclNum()) {
return node;
}
if (aclName == null) {
continue;
}
if (aclName.equals(node.getAclName())) {
System.out.println("33333333333333333333333");
return node;
}
}

return null;
}

调用的地方:
AclNode policyAclNode = searchPolicyAclNode(aclName, aclNum);

if (policyZone == null) {
System.out.println("fuck ass!!!!");
}
policyZone.appendPolicyList(policyAclNode.getPols());

line = reader.readLine();
运行时在“policyZone.appendPolicyList(policyAclNode.getPols());”这一行报空指针异常,已经定位到是policyAclNode为空。
但是可以看到已经找到匹配的元素,debug信息如下:
untrust_to_database inbound software
find ACL name: untrust_to_database; ACL number: 0
check ACL name: null; Acl number: 2000
check ACL name: null; Acl number: 2001
check ACL name: acl name untrust_to_caiwu; Acl number: 32811
check ACL name: acl name untrust_to_data_long-link; Acl number: 32845
check ACL name: acl name untrust_to_database; Acl number: 32843
check ACL name: acl name untrust_to_datase; Acl number: 32868
可以看到倒数第二行已经找到需要的元素
展开
 我来答
安徽新华电脑21
2018-11-15 · TA获得超过189个赞
知道小有建树答主
回答量:648
采纳率:0%
帮助的人:78.8万
展开全部
java中判断字符串是否相等有两种方法:1、用“==”运算符,该运算符表示指向字符串的引用是否相同,比如: String a="abc";String b="abc",那么a==b将返回true。这是因为在java中字符串的值是不可改变的,相同的字符串在内存中只会存一份,所以a和b指向的是同一个对象;再比如:String a=new String("abc"); String b=new String("abc");那么a==b将返回false,因为a和b指向不同的对象。2、用equals方法,该方法比较的是字符串的内容是否相同,比如:String a=new String("abc"); String b=new String("abc"); a.equals(b);将返回true。所以通常情况下,为了避免出现上述问题,判断字符串是否相等使用equals方法。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式