Java – 通过Class中的方法更改数组的值
发布时间:2020-12-15 04:11:09 所属栏目:Java 来源:网络整理
导读:这是我的代码: class Myclass { private static int[] array; public static void main(String[] args) { Myclass m = new Myclass(); for (int i = 0; i 10; i++) { m.array[i] = i; System.out.println(m.array[i]); } } public Myclass() { int[] array
这是我的代码:
class Myclass { private static int[] array; public static void main(String[] args) { Myclass m = new Myclass(); for (int i = 0; i < 10; i++) { m.array[i] = i; System.out.println(m.array[i]); } } public Myclass() { int[] array = new int[10]; } } 尝试执行此操作时,它会抛出java.lang.nullPointerException: m.array[i] = i; 有人能帮帮我吗? 解决方法
您已在构造函数中声明了一个局部变量数组,因此您实际上并未初始化Myclass中声明的数组.
您将要在构造函数中直接引用数组.代替 int[] array = new int[10]; 用这个 array = new int[10]; 另外,您已在Myclass类的范围内声明了数组static. private static int[] array; 你在这里只有一个Myclass实例,所以没关系,但通常这不是静态的,如果你在构造函数中初始化它.你应该删除静态: private int[] array; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 如何从ArrayList获取String值并将它们存储在Java 8中用逗号
- 如何获得JTextField的动态宽度?
- java – 格式化double以省略不必要的“.0”,永远不会关闭
- java – 动态设置ContentProvider的权限
- Java Map.values()方法:获取Map集合中的所有键值对象
- java – 如果不存在,将一个新值添加到地图中,或者添加它
- Java String字符串和Unicode字符相互转换代码
- Java中的break和continue关键字的使用方法总结
- 来自Effective Java的第9项(等于合同):示例是否正确?
- 博客园_插入代码(推荐)_按钮功能实现_代码高亮显示