-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 " を持っています

b.java で印刷機能を使用する必要があるため、defmain と mainname をリストに追加したいと思います。

私がやろうとしたこと

で、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 に答える