我需要在Java 1.4中更改以下代码,任何人都可以帮助我做到这一点。
我得到的主要问题是转换列表的字符串类型
行列表splitStringList = new ArrayList()
和线
for(String str:splitStringList)为Java 1.4生成错误
public class Demo2ReferDemo1 {
public static void main (String [] args) {
String inputStr = "00400 - 00479,00100 - 0022200su,00100 - 00228,00100 - 00228,00400 - 00479,lab661,";
StringBuffer sb = new StringBuffer (inputStr);
List<String> splitStringList = new ArrayList<String> ();
boolean insideDoubleQuotes = false;
StringBuffer field = new StringBuffer ();
for (int i=0; i < sb.length(); i++) {
if (sb.charAt (i) == '"' && !insideDoubleQuotes) {
insideDoubleQuotes = true;
} else if (sb.charAt(i) == '"' && insideDoubleQuotes) {
insideDoubleQuotes = false;
splitStringList.add (field.toString().trim());
field.setLength(0);
} else if (sb.charAt(i) == ',' && !insideDoubleQuotes) {
// ignore the comma after double quotes.
if (field.length() > 0) {
splitStringList.add (field.toString().trim());
}
// clear the field for next word
field.setLength(0);
} else {
field.append (sb.charAt(i));
}
}
for (String str: splitStringList) {
System.out.println ("Split fields: "+str);
}
}
}
在这里,您可以使用Java 1.4兼容格式的类。更改为:
import java.util.ArrayList; import java.util.List; public class Demo2ReferDemo1 { public static void main(String[] args) { String inputStr = "00400 - 00479,00100 - 0022200su,00100 - 00228,00100 - 00228,00400 - 00479,lab661,"; StringBuffer sb = new StringBuffer(inputStr); List splitStringList = new ArrayList(); boolean insideDoubleQuotes = false; StringBuffer field = new StringBuffer(); for (int i = 0; i < sb.length(); i++) { if (sb.charAt(i) == '"' && !insideDoubleQuotes) { insideDoubleQuotes = true; } else if (sb.charAt(i) == '"' && insideDoubleQuotes) { insideDoubleQuotes = false; splitStringList.add(field.toString().trim()); field.setLength(0); } else if (sb.charAt(i) == ',' && !insideDoubleQuotes) { // ignore the comma after double quotes. if (field.length() > 0) { splitStringList.add(field.toString().trim()); } // clear the field for next word field.setLength(0); } else { field.append(sb.charAt(i)); } } for (Object str : splitStringList) { System.out.println("Split fields: " + str); } } }
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句