我有一个很大的String
要转换为Stop
个对象,但每次使用此函数都会返回java.lang.NumberFormatException: Invalid int: "1"
我不明白为什么"1"
不能在String
中转换为Int
...
我哪里错了?
private static List<List<String>> rawToList(String string) {
List<List<String>> result = new ArrayList<>();
for (String row : Arrays.asList(string.split("\n")))
result.add(Arrays.asList(row.split(",")));
result.remove(0);
return result;
}
private static List<Stop> rawToStops(String string) {
List<Stop> stops = new ArrayList<>();
for (List<String> entity : rawToList(string))
stops.add(new Stop(
entity.get(0),
entity.get(1),
entity.get(2),
entity.get(3),
Double.parseDouble(entity.get(4)),
Double.parseDouble(entity.get(5)),
Integer.parseInt(entity.get(6)),
Integer.parseInt(entity.get(7))));
return stops;
}
大String
很长。我是从this txt文件中读取的。
答案 0 :(得分:3)
解决
我必须删除不可打印的unicode字符:
string.replaceAll("\\p{C}", "");