-1

我正在研究 Java,我正在研究类的类类型的概念

例如,在 Print.java

public class Print{
    public ArrayList<data> list;
    public Print(){
        list = new ArrayList<data>();
    } 


    public void printIndexList() {
        for (data index : list) {
            System.out.format("\", index.name)
        }

        for (String definition : b.def) {
            System.out.format("%-6s", definition);
        }
    }

并在 data.java

public class  data{
     public String name
     public ArrayList<String> def;

     public data(){
         def = new ArrayList<String>();
     }
}

而且,在 中main.java,我有字符串类型ArrayList“defmain”并String输入“mainname”

我想在列表中添加 defmain 和 mainname 因为我需要在 b.java 中使用打印功能

我试图做的事情

在中main.java,我创建了:-

Print ia = new ptiny();

Array<Print> mainlist = new Array<Print>();

和..试图在列表中分配值a.java

ia.list = mainlist;

但是,它并没有真正起作用。有人知道在类型为“a”的 Arraylist 中添加字符串值和 arraylist 的方法吗?

谢谢

4

3 回答 3

1

请注意,类名应以大写字母开头。以下应该有效:

A ia = new A();
B ib = new B();
ib.def.add("Test");
ia.list.add(ib);
ia.printIndexList();

请注意,我没有分配任何列表。我正在向列表中添加元素。

于 2012-11-06T06:46:16.937 回答
0

据我所知,你试图实现你想做的事情是行不通的。

您不能将 a 的列表分配给 b 的列表。

您可以做的是遍历您拥有的 a 列表:

for (a index : list) {
  index.printIndexList();
}

也许这不是您想要的,但很难从您的问题中看出。

另一种方法是您可以将所有 a 的内容添加到单个 a 中,因此:

for (a index : list) {
  ai.list.addAll(index.list);
}

通常在 Java 中,类名以大写字母开头,所以 a 应该是 A,b 应该是 B

于 2012-11-06T06:35:22.563 回答
-1

我只是想通了!!谢谢你的帮助

我需要做的就是浪费

我需要创建

Print var = new Print();
var.name = "Herry";
var.defintions = somearraylistin;
ArrayList<Print> ls = new ArrayList<Print>();
ls.add(var);
data.list =is;
data.printIndexList();

谢谢

我的天啊

需要将近3个小时才能弄清楚!

:)

于 2012-11-06T06:44:55.533 回答