1

Javaの互換性のない型でこの関数に値を割り当てる方法は?

public class CustomerInfo implements Serializable {

    private static final long serialVersionUID = 9083257536541L;
    protected String id;
    protected String searchkey;
    protected String taxid;
    protected String name;
    protected String postal;

    /** Creates a new instance of UserInfoBasic */
    public CustomerInfo(String id) {
        this.id = id;
        this.searchkey = null;
        this.taxid = null;
        this.name = null;
        this.postal = null;
    }

    public String getId() {
        return id;
    }    

    public String getTaxid() {
        return taxid;
    }    

    public void setTaxid(String taxid) {
        this.taxid = taxid;
    }

    public String getSearchkey() {
        return searchkey;
    }

    public void setSearchkey(String searchkey) {
        this.searchkey = searchkey;
    }

    public String getName() {
        return name;
    }   

    public void setName(String name) {
        this.name = name;
    }

    public String getPostal() {
        return postal;
    }   

    public void setPostal(String postal) {
        this.postal = postal;
    }    

    public String printTaxid() {
        return StringUtils.encodeXML(taxid);
    }

    public String printName() {
        return StringUtils.encodeXML(name);
    }

    @Override
    public String toString() {
        return getName();
    }    
}

  private CustomerInfo selectedCustomer;

  public CustomerInfo getSelectedCustomer() {
        // construct a CustomerInfo from the data in your String

        return selectedCustomer;
    }


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

           selectedCustomer = (CustomerInfo) jListCustomers.getSelectedValue();
            //test code
            String testing  = m_jtxtName.getText();
              System.out.println("Now the selectedCustomer is dispayed!");
            System.out.println(selectedCustomer);
             System.out.println(testing);
       //test code
            dispose();       
        }

上記のコードでは、文字列テスト値を に割り当てる必要がありますselectedCustomer。値を割り当てるにはどうすればよいですか? これは私が得るエラーです:

selectedCustomer = m_jtxtName.getText();

incompatible types
    required: CustomerInfo
    found:    String
4

2 に答える 2

2

できません!!!

selectedCustomerタイプのオブジェクトです CustomerInfo

m_jtxtName.getText()を返しますString

文字列を CustomerInfo に割り当てることはできません。

おそらく、次のようなことをする必要があります。

int id = 1; //Or whatever new id you have.
String name = m_jtxtName.getText(); 
selectedCustomer = new CustomerInfo(name); //or whatever id you have.
selectedCustomer.setName(name);    //or whatever name you have.

編集:

あなたのクラスには何かが欠けています。セッター メソッドが必要な場合 (現在はゲッターしかないため、他のプロパティを名前などとして設定することはできません)、または次のような 4 つの引数を持つコンストラクターが必要です。

public CustomerInfo(String id, String searchKey, String taxid, String name, String postal) {
    this.id = id;
    this.searchKey = searchKey;
    // etc

この場合、画面に 6 つの jtextfields がある可能性があるため、ユーザーはすべてのフィールドに入力し、すべてのパラメーターをコンストラクターに渡すことで Customerinfo オブジェクトを作成できます。

于 2013-05-28T10:01:52.250 に答える