所以我有这段小代码:
System.out.println("Size: " + mounts.keySet().size());
for (JHttpPath entry : mounts.keySet()) {
System.out.println("Got one: " + entry.getPath());
if (entry.getDomain().equalsIgnoreCase(path.getDomain()) && entry.getPath().equalsIgnoreCase(path.getPath())) {
System.out.println("WIN! " + entry.getPath());
return mounts.get(entry);
}
}
这是输出:
Size: 4
Got one: /host
但它应该是:
Size: 4
Got one: /host
Got one: /cookie
Got one: /
Got one: /
关于什么阻止声明的任何想法:P
答案 0 :(得分:0)
显而易见的答案是,在打印一行之后执行的某个方法正在进入无限循环。从它的外观来看GetDomain()
。
也许如果我们对JHttpPath
有更多了解?我认为这是一个自定义类,因为谷歌只在Googling JHttpPath
时出现了这个问题。
答案 1 :(得分:0)
嗯,因为这是商业软件,我无法提供其中一个类
这看起来很像一个初学者的问题,但实际上很奇怪
问题:我使用的字符串.equals(IgnoresCase)被定义为NULL,这导致了一个异常,我的软件故意忽略它。
我的不好,感谢所有的投入。
解决方案代码:
(entry.getDomain() == null || path.getDomain() == null || entry.getDomain().equalsIgnoreCase(path.getDomain()))