Java练习中indexOf的返回值

时间:2016-11-09 15:10:49

标签: java arraylist indexof

所以我得到了这段代码:

我的应用程序正在创建host_i并向其添加两个字符串。

.*-i-.*

并且有ArrayList<>声明。

因此,我在API文档中读到import java.util.*; public static void main(String[] args) { ArrayList<String> a = new ArrayList<String>(); a.add(0, "zero"); a.add(1, "one"); if (a.indexOf("two") != 1) { a.add(2, "two"); } } 返回指定元素的索引(在本例中为&#34;两个&#34;),但如果此元素不在列表中,则将返回ifindexOf表示此返回值-1!= 1不同,因此该语句为true,if块中的指令将被执行(添加索引为-1的字符串到列表)。

我做对了吗?

非常感谢。

1 个答案:

答案 0 :(得分:0)

是的,你做得对。 但是,出于好奇,你为什么不使用:

if (!a.contains("two")) {
    a.add(2, "two");
}

另外, 为什么不简单地在没有明确提供索引的情况下添加字符串? 它是一个ArrayList,值将始终是有序的。

    a.add("zero");
    a.add("one");

    if (a.indexOf("two") !=1) {
      a.add("two");
    }

如果您明确提供索引但也有条件地插入,那么您的代码很容易出错。