0
0

Java3

Posted at

アノテーション

@ を付けて追加情報を書き込む機能。
アノテーションを付けて、付加情報(メタデータ)を付けると、
コード検査、コード生成、特別な処理を実行することが出来ます。

コードを見通しをよくし、保守性や拡張性を高める役割を持っています。

@Autowired //@がついてるやつ
private SampleService sampleService

FWであるSpringではアノテーションを使って効率化を図ったりしています。

インターフェース

インターフェースとは。

メソッドの定義や変数の定義のみのファイルのこと。

Javaで使われるインターフェースとは、クラスに含まれるメソッドの具体的な処理内容を記述せず、変数とメソッドの型のみを定義したものです。
中身のロジックは書かずに、関数だけ書いてしまう感じかな。
以下のようにインターフェースを宣言および実装を行います。


インターフェースの宣言
interface インターフェース名{}


インターフェースの実装
class クラス名 implements インターフェース名{}

//SpringだとService classをinterfaceとしている所がありますね
@Service
public class SampleService{

}

Enumの使い方

genreConsts.java
//enumファイル

public class GenreConsts{
    public enum Genre implements DbConsts{
    //定数
    ANIME(1,"アニメ"),
    DRAMA(2."ドラマ")
    }

    //変数名
    public Integer id;
    public String name;

    //インスタンスデータ
    private Genre(Integer id,String name){
        this.id = id;
        this.name = name;
    }

    public static Genre getEnum(Integer value){
        for(Genre genre:Genre.value){
            if(genre.id.equals(value){
                return genre;
            }
        }
    }

    public static String getName(String value){
        for(Genre genre:Genre.values()){
            if(genre.name.equals(value)){
                return genre.name;
            }
        }
        return null;
    }
    


    public static String getId(String value){
        for(Genre genre:genre.values()){
            if(genre.name.equals(value)){
                return genre.id;
            }
        }
        return null;
    }
}

使い方


//sample.genreはintの1が入ってます

sample.genreName = Genre.getName(sample.genre);
//結果-> 「アニメ」が出力

EnumであるGenreクラスは、インスタンスを生成する意味合いが無いので、
メソッドはstaticで宣言し、インスタンス無しで何処でも呼び出すことができるので
シンプルに書くことができますね。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0