如何从Java中的Collection中删除[]?

时间:2016-04-30 09:06:24

标签: java

我在Java中有一个集合arraylist。

例如,当我这样做时:

test是集合。

System.out.println(test.getTester());

为什么我得到以下结果: [占士邦]

我只想要jamesbond,但为什么他们也给我[]?

3 个答案:

答案 0 :(得分:2)

根据你的问题,假设你有一个字符串的ArrayList作为集合(因为它打印[jamesbond])。

当您编写test.getTester()时,java会调用集合上的toString()方法,它会在[]之间打印元素,并用逗号分隔。

您可以在集合上使用迭代器来打印各个元素。

    List<String> stringColl = Arrays.asList("jamesbond","danielocean");

    // Java 8 
    stringColl.forEach(stringElem -> System.out.println(stringElem));

    // Java 7 or below 
    for(String stringElem : stringColl){
        System.out.println(stringElem);
    }

答案 1 :(得分:0)

让一个字符串帮助你并使用替换方法......

实施例

// if your list doesnt contain any element with the chars [ or ]
String listNoBrackets = l.toString().replace("[", "").replace("]", "");
System.out.println(listNoBrackets);

// if your list contains at least 1 element with the chars [ or ]
String listWithBrackets = l.toString().substring(1, l.toString().length() - 1);
System.out.println(listWithBrackets);

答案 2 :(得分:0)

使用substring方法删除第一个和最后一个字符。

String foo = test.getTester().toString();
System.out.println(foo.substring(1, foo.length() - 1);

注意:如果您尝试打印具有多个对象的数组,您将看到括号始终是第一个和最后一个字符,元素本身是用逗号分配的。