java – 导致NullPointerException的ArrayList.add()方法
发布时间:2020-12-15 05:20:10 所属栏目:Java 来源:网络整理
导读:LongInteger类在运行时导致以下错误: Exception in thread "main" java.lang.NullPointerExceptionat LongInteger.breakString(LongInteger.java:38)at LongInteger.init(LongInteger.java:17)at LongInteger.main(LongInteger.java:149) 以下是一些相关的
LongInteger类在运行时导致以下错误:
Exception in thread "main" java.lang.NullPointerException at LongInteger.breakString(LongInteger.java:38) at LongInteger.<init>(LongInteger.java:17) at LongInteger.main(LongInteger.java:149) 以下是一些相关的课程摘录: public class LongInteger extends Object { private ArrayList<String> storedStrings; // Constructor public LongInteger(String s) { this.setInputString(s); this.breakString(this.inputString); //Exception @ line 17 } /** * the purpose of this method is to break the input string into an * ArrayList<String> where each String has a length of 9 or less. */ private void breakString(String s){ if(s.length()>9){ storedStrings.add(0,s.substring(s.length()-9,s.length())); this.breakString(s.substring(0,s.length()-9)); } else { this.storedStrings.add(0,s); //Exception @ line 38 } } public static void main(String[] args) { LongInteger a = new LongInteger("12345"); //Exception @ line 149 } } 我不知道是什么导致了这个NullPointerException.有人有建议吗? 解决方法
你永远不会实例化storedStrings.尝试改变:
private ArrayList<String> storedStrings; 至: private ArrayList<String> storedStrings = new ArrayList<String>(); 如果你有这条线: this.storedStrings.add(0,s); 它正在调用ArrayList实例上的方法add< String>存储在this.storedStrings中.新运算符是您获取新事物的方式. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |