我有一个配置条目,我可以从中加载一个String数组,如
String s = "abc$#def$#ghi";
String[] scbHLNewArray = s.split("\\$\\#");
这里我将分割后的字符串与数组值进行比较,如
for(String arrNewErrorInfo : scbHLNewArray) {
LOG.info("SCB HL New Error Value :"+arrNewErrorInfo+"\n");
if(errorInfo.equals(arrNewErrorInfo)) {
LOG.info("SCB HL Matched New value is :"+arrNewErrorInfo);
newState = ApplicationState.NEW;
addApplicationEvent(application.getId(),comment, ApplicationEventType.COMMENT,BBConstants.AUTOBOT);
scbHLNewStatus = "Matched";
break;
}
}
我想使用一些类似List的类..有什么想法附加到列表并将字符串与列表objecT进行比较?
谢谢, 尼扎姆
答案 0 :(得分:1)
您可以使用List contains方法执行此操作。
ArrayList<Integer> arrlist = new ArrayList<Integer<(8);
// use add() method to add elements in the list
arrlist.add(20);
arrlist.add(25);
arrlist.add(10);
arrlist.add(15);
// list contains element 10
boolean retval = arrlist.contains(10); // It will return true.
答案 1 :(得分:0)
好的,让我们试试......首先,你可以创建一个列表对象,非常容易地包装你的数组:
List<String> myList = Arrays.asList( scbHLNewArray );
小心,因为你不能添加到这个列表,因为它只包装你的数组。如果您想要添加的列表,则必须创建一个新列表,例如:
List<String> myModifiableList = new ArrayList<String>( myList );
这将创建一个新的List,其中包含第一个字符串中的所有字符串,但也可以修改(如果需要,可以添加字符串)。
在任何情况下,您可以使用&#34;包含&#34;,如Pratik已经显示的那样,来测试String是否在您的列表中:
if (myList.contains("someString")) { ... }
这是有效的,因为String类已经很好地实现了equals(...)和hashCode()方法。如果你想将除Strings之外的其他Object放入你的列表中,你必须确保这些方法得到很好的实现,否则包含可能无法按预期工作。
答案 2 :(得分:0)
是的,您可以使用课程列表,您需要:
1。将split的结果作为数组。
2. 然后将此数组转换为列表。
String s = "abc$#def$#ghi";
String[] scbHLNewArray = s.split("\\$\\#");
List<String> list=Arrays.asList(scbHLNewArray); //convert the array to a list
请查看Arrays.asList(Array a)以及 Tutorial 以获取有关它的更多信息。
然后要搜索想要的String对象,您可以使用 indexOf(Object o)或 contains(Object o) List 方法