使用java比较字符串对象中的字符串

时间:2015-03-30 10:03:07

标签: java

我有一个配置条目,我可以从中加载一个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进行比较?

谢谢, 尼扎姆

3 个答案:

答案 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 方法