1

我有这个字符串数组

private static String[] colorsArray = { "#bde876", "#ff8581", "#ffc472",
    "#faed75", "#a8c9e5", "#999999", "#e3a8e5", "#dddddd", "#fc603c",
    "#ffcc00", "#74e8d4", "#3cd6fc" };

然后我有这个方法

public static int getColorByString(String color) {
    return Arrays.binarySearch(colorsArray, color);
}

当我打电话getColorByString("#ff8581");给我-13的结果。

如果我理解得很好,这意味着该元素不包含在我的数组中。

我究竟做错了什么?我怎样才能让它工作?

编辑

我刚刚意识到必须对数组进行排序。问题是我无法对其进行排序,因为我需要将字符串映射到特定索引。

所以现在问题变成了,是否有任何方法可以执行线性搜索,还是我必须编写它?

4

1 回答 1

4

怎么样

Arrays.<String>asList(colorArray).indexOf("#ff8581");
于 2010-08-03T00:00:27.917 回答