试一下(同理int和long一样) st.ordinaryChars('0', '9'); // 提升long精度问题,大概率是 StreamTokenizer源码处理问题st.wordChars('0', '9'); // 提升long精度问题,小概率输入数据多了某种符号 st.nextToken(); return Long.parseLong(st.sval); 替换掉 st.nextToken(); return (long) st.nval;