2

こんにちは、データベースに列挙型として STATUS のフィールドが 1 つあります。

しかし、このためのセッターを作成するにはどうすればよいでしょうか? 文字列、INT、または「Java Enum」として

このようなもの

public enum getStatus() {
    return Status;
}

public void setStatus(enum Status) {
    this.Status = Status;
}
4

2 に答える 2

6

の型として列挙型の名前を使用する必要がありますstatus。このようないくつか

enum MyEnum { // Assuming MyEnum is the name of the enum
    // enum values sample below
    ACTIVE, INACTIVE, PENDING
}

編集:私たちの議論の後、これはあなたにもっと合うかもしれません.

private MyEnum status;

public String getStatus() {
    return this.status.name();
}

public void setStatus(String status) {
    this.status = MyEnum.valueOf(status);
}
于 2013-11-02T12:02:05.473 に答える
1

これがあなたに合っているかどうかを確認します:

public enum MyStatus { ACTIVE, INACTIVE, PENDING }

public class OtherClass
{
  private MyStatus status = null;

  /* other code */

  /* when it is time to get a value of status to store in the database: */
  String statusString = status.name();

  /* when it is time to take a string from the database 
   * and translate to the variable */
  status = MyStatus.value(stringFromDatabase);

}

プログラムの新しいバージョンでは列挙型から値を削除できないことを覚えておく必要があります。または、データベースからすべての値を削除することを覚えておく必要があります。または、valueOf() から結果として生じる例外をキャッチして何かを行う必要があります。それとインテリジェント。

于 2013-11-02T12:31:19.250 に答える