我有这个字符串数组
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
作为结果。
如果我理解得很好,就意味着该元素不包含在我的数组中。
我做错了什么?我怎样才能使它发挥作用?
修改
我刚刚意识到必须对数组进行排序。问题是我无法对其进行排序,因为我需要将字符串映射到特定的索引。
所以现在问题变成了,是否有任何方法可以执行线性搜索,还是必须编写它?
答案 0 :(得分:4)
怎么样
Arrays.<String>asList(colorArray).indexOf("#ff8581");