註解的好處:
1.能夠讀懂別人寫的代碼,特別是框架相關的代碼。
2.本來可能需要很多配置文件,需要很多邏輯才能實現的內容,就可以使用一個或者多個註解來替代,這樣就使得編程更加簡潔,代碼更加清晰。
FunctionalInterface
隨著JDK 8中lambda表達式的引入,函數式接口在Java中變得越來越流行。這些特殊類型的接口可以用lambda表達式、方法引用或構造函數引用代替。根據@FunctionalInterface文檔,函數式接口的定義如下:
一個函數式接口只有一個抽象方法。由於默認方法有一個實現,所以它們不是抽象的。
例如,以下接口被視為函數式接口:
public interface Foo { public int doSomething();
}
public interface Bar { public int doSomething(); public default int doSomethingElse() { return 1;
}
}
因此,下面的每一個都可以用lambda表達式代替,如下所示:
public class FunctionalConsumer { public void consumeFoo(Foo foo) {
System.out.println(foo.doSomething());
} public void consumeBar(Bar bar) {
System.out.println(bar.doSomething());
}
}
FunctionalConsumer consumer = new FunctionalConsumer();
consumer.consumeFoo(() -> 10); // 10consumer.consumeBar(() -> 20); // 20
Target
Target說明了Annotation所修飾的對象範圍:Annotation可被用於 packages、types(類、接口、枚舉、Annotation類型)、類型成員(方法、構造方法、成員變量、枚舉值)、方法參數和本地變量(如循環變量、catch參數)。在Annotation類型的聲明中使用了target可更加明晰其修飾的目標。
尚學堂12大精英團隊+各類實戰項目,真正實現1+1>10的目標效果。幫助學員迅速成長,持久騰飛,成就學員“高富帥”人生;幫助企業技術和團隊成長,成就百年中華名企;助力中國持續成為世界強國而貢獻力量。尚學堂12大精英團隊,覆蓋IT行業十大領域,實戰團隊240人,服務學員累計超過10萬人,就業合作企業數量500+。
閱讀更多 Java的筆記 的文章