java.lang.NumberFormatException: For input string: "10"
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.lang.Long.parseLong(Long.java:441)
相關的代碼段:ParseLong提高NumberFormatException的
public static class NodeWritable implements Writable {
public double msg;
public double rank;
public String others;
public NodeWritable(double msg, double rank, String others) {
this.msg = msg;
this.rank = rank;
this.others = others;
}
public NodeWritable() {
this.msg = 0.0;
this.rank = 0.0;
this.others = "";
}
@Override
public void write(DataOutput out) throws IOException {
out.writeDouble(msg);
out.writeDouble(rank);
out.writeChars(others + "\n");
}
@Override
public void readFields(DataInput in) throws IOException {
msg = in.readDouble();
rank = in.readDouble();
others = in.readLine();
}
@Override
public String toString() {
return "" + rank;
}
}
ArrayList<Long> incoming_vids = new ArrayList<Long>();
for (NodeWritable msg : messages) {
String in_vid = msg.others.trim();
incoming_vids.add(Long.parseLong(in_vid));
}
怎麼能這樣呢?我已經對Google進行了一些調查。有時NumberFormatException
似乎是由大數字造成的。但我無法爲我的案子找到可能的解釋。
'Long.parseLong(「10」);'適合我。請提供實際的代碼,而不僅僅是例外。 – noone
你可以給你已經使用的示例代碼 – muthukumar
一種可能性是輸入字符串中的非打印字符。 NumberFormatException是關於** any **的方式,其中輸入字符串不是被解析類型中數字的正確格式化表示,而不僅僅是大輸入。 –