0

ArrayLists を使用するのは私にとって初めてであり、最初に先生や友人に助けを求めます...しかし、オンライン コースなので、質問をするのに永遠に時間がかかります。学校(かなり小さな学校です。)

とにかく、これはとても単純でばかげていると思いますが(あなたにとってはばかげていると思います)、下線を引いたものを取り除いています...だから、重要なコンポーネントが欠けていると思います...

public class EmployeeProjectView extends FrameView {

たとえば、この行を見てください...このプログラムの冒頭にcompanyは赤の下線が引かれています(私はnetbeansを使用しています)。理由はわかりませんが、問題なく動作するStringので、私の質問は...常にそうでなければならないのですか?として定義されていStringますか?

/** Define the ArrayList */
ArrayList<company> employee = new ArrayList<company>();


public EmployeeProjectView(SingleFrameApplication app) {
}// </editor-fold>                        

これ (以下の「addButton」) は、配列に情報を格納する場所です。

private void addButtonActionPerformed(java.awt.event.ActionEvent evt) { 

String c;
String ID, firstName, lastName, salary, date;

ID = IDField.getText();
firstName = firstNameField.getText();
salary = annualSalField.getText();
date = startDateField.getText();

newString には赤い下線が引かれています...

 c = new String(ID, firstName, lastName, salary, date);
    employee.add(c);

}                                         

private void listButtonActionPerformed(java.awt.event.ActionEvent evt) {                                           

//Code here gets listed in Field...

    }    
4

5 に答える 5

0

ArrayListの間の型が必要< >です。文字列はタイプです。あなたの例では会社は変数のようです。リストにはどのような型が必要employeeですか? 従業員は文字列のリストですか? ユーザー定義クラスのリストですか?これを知っておく必要があります。

http://docs.oracle.com/javase/6/docs/api/java/util/ArrayList.html

例として:

ArrayList<UserDefinedClass> myList = 
    new ArrayList<UserDefinedClass>(initialCapacity);
// initialCapacity should be a previously defined int.
// Or
ArrayList<String> someNames = new ArrayList<String>();
// Uses a default capacity of 10 when none is provided.

次に、String は面白い (しかし非常に便利な) Java のオブジェクトです。キーワードを使用して文字列を作成するのではなく、 ornewのようなプリミティブと同じように割り当てる必要があります。これは、独自に Google 検索に値する「文字列インターニング」と呼ばれるものによるものです。文字列を割り当てるには: int charshort

String word = "Strong Bad";

于 2013-04-30T18:50:13.730 に答える
0

たとえば、この行を見てみましょう...このプログラムの冒頭の「会社」には赤の下線が引かれています (私はネットビーンズを使用しています)。理由はわかりませんが、「文字列」として正常に動作するので、私の質問は....常に文字列として定義する必要がありますか?

いいえ、ジェネリックについて読んでください。はArrayList、任意の型を取るように定義できます。companyしたがって、クラス名である限り、宣言は問題ありません。ところで、クラス名は、通常の規則に従って最初の文字を常に大文字にする必要があります。

あなたの行から判断するとc = new String(ID, firstName, lastName, salary, date);、Java のオブジェクトについて学ぶ必要があります。String は Object の一種です。String クラスのJavadocを見てください。コーディングした順序で他の String をパラメーターとして受け入れるコンストラクターはありません。したがって、しようとしている方法で新しい文字列を作成することはできません。Strings の初期化方法について混乱しているようです。基本的に、オブジェクトの構築、およびクラスとメソッドとは何かについての Java チュートリアルを読む必要があるようです。

于 2013-04-30T18:50:57.607 に答える
0

以下はあなたを助けるかもしれません..

ArrayList<Company> employee=new ArrayList<Company>();

Company employee1=new Company();
employee1.setId(id)
employee1.setFirstname(firstname);
employee1.setSalary(salary);
employee1.setDate(dates);

employee.add(employee1);

このような Company クラスが必要です

class Company {
String id,firstname,lastname,salary,dates;

//setter   getter method   

(右クリック->コードの挿入->セッターとゲッターでNetbeansでこれを実現できます)

乾杯、

于 2013-04-30T19:00:45.460 に答える
0

多分あなたはやりたかった:

 List<String> c = new ArrayList<String>(5);
 c.add(ID);
 c.add(firstName);

等..

これには、Arrays クラスに便利なメソッドがあります。

Arrays.asList("Larry", "Moe", "Curly");
于 2013-04-30T18:53:48.510 に答える