我使用扫描仪而不是字符串标记器,下面是一段代码......
Scanner scanner = new Scanner("Home,1;Cell,2;Work,3");
scanner.useDelimiter(";");
while (scanner.hasNext()) {
// System.out.println(scanner.next());
String phoneDtls = scanner.next();
// System.out.println(phoneDtls);
ArrayList<String> phoneTypeList = new ArrayList<String>();
if(phoneDtls.indexOf(',')!=-1) {
String value = phoneDtls.substring(0, phoneDtls.indexOf(','));
phoneTypeList.add(value);
}
Iterator itr=phoneTypeList.iterator();
while(itr.hasNext())
System.out.println(itr.next());
}
执行此命令后我得到的输出... 家 细胞 工作
从上面的代码可以看出,我们最终在数组列表phoneTypeList中存储了值..但是根据','找出值的逻辑并不是那么好..那就是..
if(phoneDtls.indexOf(',')!=-1) {
String value = phoneDtls.substring(0, phoneDtls.indexOf(','));
phoneTypeList.add(value);
}
您能告诉我其他选择吗..!!实现同样的目标...!!提前非常感谢..!!
最佳答案
好吧,既然您问是否有其他方法可以做到这一点,那么这里有一个替代方法:您可以直接拆分字符串,并使用 foreach
使用更少的代码来完成此操作。声明:
String input = "Home,1;Cell,2;Work,3";
String[] splitInput = input.split(";");
for (String s : splitInput ) {
System.out.println(s.split(",")[0]);
}
无需使用 ArrayList<T>
因为您也可以迭代数组。
关于java - 关于数组列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10060843/