Cyb*_*low 47 java arrays string position
我想知道Java中是否有一个本机方法来获取给定值的表索引?
假设我的表包含以下字符串:
public static final String[] TYPES = {
"Sedan",
"Compact",
"Roadster",
"Minivan",
"SUV",
"Convertible",
"Cargo",
"Others"
};
Run Code Online (Sandbox Code Playgroud)
假设用户必须输入汽车类型,然后在后台程序获取该字符串并获取它在数组中的位置.
因此,如果该人进入:轿车它应该采取位置0并将其存储在我的程序创建的汽车对象中...
小智 153
输入:
Arrays.asList(TYPES).indexOf("Sedan");
Run Code Online (Sandbox Code Playgroud)
Anu*_*oob 28
String carName = // insert code here
int index = -1;
for (int i=0;i<TYPES.length;i++) {
if (TYPES[i].equals(carName)) {
index = i;
break;
}
}
Run Code Online (Sandbox Code Playgroud)
在此之后index是您的汽车的数组索引,如果它不存在则为-1.
小智 9
我有一系列所有英文单词.我的阵列有独特的物品.但是使用......
Arrays.asList(TYPES).indexOf(myString);
Run Code Online (Sandbox Code Playgroud)
......总是给我indexOutOfBoundException.
所以,我尝试过:
Arrays.asList(TYPES).lastIndexOf(myString);
Run Code Online (Sandbox Code Playgroud)
而且,它奏效了.如果您的阵列没有两次相同的项目,您可以使用:
Arrays.asList(TYPES).lastIndexOf(myString);
Run Code Online (Sandbox Code Playgroud)
for (int i = 0; i < Types.length; i++) {
if(TYPES[i].equals(userString)){
return i;
}
}
return -1;//not found
Run Code Online (Sandbox Code Playgroud)
你也可以这样做:
return Arrays.asList(Types).indexOf(userSTring);
Run Code Online (Sandbox Code Playgroud)
使用Arrays类来执行此操作
Arrays.sort(TYPES);
int index = Arrays.binarySearch(TYPES, "Sedan");
Run Code Online (Sandbox Code Playgroud)
小智 6
试试这个
org.apache.commons.lang.ArrayUtils.indexOf(array, value);
Run Code Online (Sandbox Code Playgroud)
没有内置方法。但你可以轻松实现一个:
public static int getIndexOf(String[] strings, String item) {
for (int i = 0; i < strings.length; i++) {
if (item.equals(strings[i])) return i;
}
return -1;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
147506 次 |
| 最近记录: |