-1
所以我得到這個代碼片段小:返回值
我的應用程序創建一個ArrayList<>
並添加兩個字符串給它。
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");
}
}
而且有一個if
聲明。
因此,我在API文檔上看到indexOf
返回指定元素的索引(在本例中爲「2」),但如果此元素不在列表中,它將返回-1
。 != 1
表示此返回值-1
與4
不同,因此該語句爲true,並且將執行if塊中的指令(將索引2
添加到列表中)。
我說得對嗎?
謝謝無論如何。
你是對的,更好的代碼將首先使用'contains'方法:'if(a.contains(「two」)&& a.indexOf(「two」)!= 1)' –
您是否試圖檢查如果一個元素在特定的位置,或者它是否存在? – shmosel
@RoelStrolenberg更好的代碼會更喜歡O(2n)而不是O(n)?很高興知道。你知道,'contains'是作爲indexOf(o)> = 0來實現的嗎?所以你叫'indexOf'兩次... – Tom