android中的类对象数组

时间:2012-06-28 16:35:01

标签: java android arrays class

我构建了一个模仿C#结构的类:

public class Favourite {
    protected  String favName;
    protected  String favText;
    protected String favDelay;
    protected GeoPoint favPoint;
    protected Uri favUri;
}

我想创建一个这个类的数组:

Favourite[] fav;

当我尝试访问此数组时:

fav[s].favName = bufr;

我收到NullPointerException。 bufr确实包含数据。我已经跟踪它以访问数组,如下面的代码:

fav[s].favName = "";

也会产生NullPointerException。

我已经搜索了高低,以获得关于我正在做什么是允许但是找不到任何东西的一些指示。

我想我的问题是:

您是否可以创建类对象的数组? 如果是这样,你如何引用该数组呢?

我知道我可以使用五个独立的变量数组来做到这一点,但我觉得将它们放入一个类可以提供更好的结构,更优雅(我更喜欢优雅)。

3 个答案:

答案 0 :(得分:8)

问题是fav[s]为空。

我不知道C#,但在Java中,你必须单独初始化数组的元素;你不能只声明数组并自动填充它。

您将不得不遍历fav并填充新的Favourite个对象。

首次使用fav[s] = new Favourite()时指定fav[s],或者通过执行

一次初始化for (int i = 0; i < fav.length; i++) { fav[s] = new Favourite(); }
{{1}}

答案 1 :(得分:3)

Favourite[] fav = new Favourite[23]; // Allocate an array of 23 items

现在你有23个人!

答案 2 :(得分:1)

您需要将项目放入数组中。声明的数组在每个槽中只有null;你需要做fav[s] = new Favourite()之类的事情。