java - 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;
}
解决方案
public int getPostLength () {
int cnt = 0;
for (int i = 0; i < postArray.length; i++) {
if (postArray[i] != null && postArray[i].isValid)
cnt++;
}
return cnt;
}
推荐阅读
- deep-learning - 获取 inceptionV3 的输入尺寸不匹配的运行时错误
- javascript - 从数据库 discord.js 加入后更改用户昵称
- c++ - 使用 C++ 错误构建 Opencv:未定义对 `cv::Mat::deallocate()' 的引用
- api - WSO2 组件的启动和关闭顺序
- ios - 点击时从导航控制器堆栈中弹出视图
- uwp - 代号 One UWP 发布构建在启动时崩溃
- angular - Angular ngif 字符串以多个选项结尾
- ruby-on-rails - 确认后重定向到存储位置,设计
- vue.js - 避免 Nginx 在查询参数前添加 '/'
- java - 以 java.util.Date 作为键的 Map 的 GSON 问题