首页 > 解决方案 > java - 如何临时初始化一个对象以避免Java中的NullPointerException?

问题描述

我有一个 Post 类,它将包含一个页面的一些帖子!

public static class Post {
        String cation;
        int id;
        PageInfo[] usersLiked;
        boolean isValid = false;

        Post (String caption, int id, PageInfo[] usersLiked) {
            this.cation = caption;
            this.id = id;
            this.usersLiked = usersLiked;
        }
    }

我定义了一个 Posts 数组,其中一些还没有实际使用,它们将在以后使用。

例如,我有 2 个帖子,但我的帖子数组的大小为 5。

Post[] postArray = new Post[5];

我用“isValid”指定使用过的帖子。

那么当我计算有效帖子大小时,我怎么能不得到 NullPointerException 呢?

public int getPostLength () {
            int cnt = 0;
            for (int i = 0; i < 5; i++) {           // 5 : arraysize
                if (postArray[i].isValid == true)
                    cnt++;
            }
            return cnt;
        }

标签: javanullpointerexception

解决方案


    public int getPostLength () {
        int cnt = 0;
        for (int i = 0; i < postArray.length; i++) {
            if (postArray[i] != null && postArray[i].isValid)
                cnt++;
        }
        return cnt;
    }

推荐阅读