-1

我正在尝试使用下面的代码在另一个字符串中查找一个字符串,但它不起作用。如果不正确,请告诉我要使用哪个方法字符串。

String infoException="Could not connect to Item interfacecom.clns.exception.ItemNotFoundException: Could not find Item data";

String keys="ItemNotFoundException";

if(keys.contains(infoException))

 System.out.println("Exception found");

问候, 拉吉

4

4 回答 4

3

它应该是 : if(infoException.contains(keys))

文档

public boolean contains(CharSequence s)

当且仅当此字符串包含指定的 char 值序列时才返回 true。

参数
s - 要搜索的序列

所以在这里你想找到序列keysinfoException不是逆序列。


if(keys.contains(infoException))您实际上是在搜索键是否包含将返回的序列 ,"Could not connect to Item interfacecom.clns.exception.ItemNotFoundException: Could not find Item data"因为falsekeys包含此序列。

于 2013-11-05T10:23:06.613 回答
1
if(keys.contains(infoException))

将此行更改为

if(infoException.contains(keys))
于 2013-11-05T10:23:16.677 回答
1

使用if (infoException.contains(keys))代替if(keys.contains(infoException))

因此,将您的代码更改为

String infoException = "Could not connect to Item interfacecom.clns.exception.ItemNotFoundException: Could not find Item data";
String keys = "ItemNotFoundException";
if (infoException.contains(keys))
    System.out.println("Exception found");

输出:

Exception found
于 2013-11-05T10:23:20.463 回答
1

切换你的检查,它需要是:

if(infoException.contains(keys))
于 2013-11-05T10:23:22.147 回答