首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >奇数TableModel空指针

奇数TableModel空指针
EN

Stack Overflow用户
提问于 2015-05-01 15:49:31
回答 1查看 76关注 0票数 1

我得到一个奇数空指针。这是我的TableModel:

代码语言:javascript
复制
private class Model extends AbstractTableModel implements IEventRespondedToListener{

    private List<ModelPojo> elements;

    private String[] columnNames = new String[]{
        "Class",
        "Event",
        "Event Id",
        "Time"
    };

    public void Model(){
        elements = new ArrayList<>();
    }

    @Override
    public int getRowCount() {
        return elements.size();
    }
    ...

它是这样创建的:

代码语言:javascript
复制
public UpdateWindow(UpdateManager updateManager){
        this.updateManager = updateManager;
        model = new Model();

但是,我得到的异常是一个空指针:

代码语言:javascript
复制
java.lang.NullPointerException
    at com.dvsd.profmetric.jms.UpdateWindow$Model.getRowCount(UpdateWindow.java:60)
    at javax.swing.JTable.getRowCount(JTable.java:2664)
    at javax.swing.plaf.basic.BasicTableUI.createTableSize(BasicTableUI.java:1692)
    at javax.swing.plaf.basic.BasicTableUI.getPreferredSize(BasicTableUI.java:1733)
    at javax.swing.JComponent.getPreferredSize(JComponent.java:1659)
    at javax.swing.ScrollPaneLayout.preferredLayoutSize(ScrollPaneLayout.java:495)
    at java.awt.Container.preferredSize(Container.java:1794)

它指向这一行:

代码语言:javascript
复制
return elements.size();

我不明白如果elements是在构造函数中创建的,这怎么会是空的。有什么想法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-05-01 15:54:34

代码语言:javascript
复制
public void Model(){

很可能是

代码语言:javascript
复制
public Model(){

void的添加使它成为一个空方法,而不是构造函数。因此,当您使用public Model()时,您将调用隐式默认构造函数(假设没有其他构造函数),其中elements没有被赋予一个值,因此仍然是空的。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29990249

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档