中文在线免费看视频_国产成人精品亚洲日本在线观看_亚洲精品第一综合99久久_国产亚洲精品日韩综合网

當(dāng)前位置: 首頁(yè) / 技術(shù)干貨 / 正文
民哥帶你快速精通java泛型(六)

2022-10-25

鉆石 操作符 public content

  第六關(guān) 泛型和鉆石的“神秘關(guān)系”

  小伙伴看到鉆石是不是特別嗨,學(xué)泛型還有鉆石呢?非也!在這里這個(gè)鉆石指的是一種符號(hào),我們開(kāi)發(fā)者又稱(chēng)之為鉆石操作符

好程序員

  1. 鉆石操作符介紹

  鉆石操作符是在 java 7 中引入的,鉆石操作符其實(shí)就是 < > ,可以在里面定義泛型,讓代碼更易讀,但它不能用于匿名的內(nèi)部類(lèi)。

  如下所示:

List<Integer> list = new ArrayList<>();// <> 鉆石操作符,java 7 以后可以使用
//在java7中: 如果使用匿名內(nèi)部類(lèi),<> 鉆石操作符不能直接使用
public class GenericDemo {
public static void main(String[] args) {
Operation<Integer> intOperation = new Operation<Integer>(1) {
@Override
public void handle() {
System.out.println(content);
}
};
intOperation.handle();
}
}
//定義一個(gè)抽象類(lèi):用來(lái)創(chuàng)建匿名內(nèi)部類(lèi)
abstract class Operation<T> {
public T content;
public Operation(T content) {
this.content = content;
}
abstract void handle();
}

  2.鉆石操作符之JDK9新特性

  鉆石操作符是在 java 7 中引入的,但它不能用于匿名的內(nèi)部類(lèi)。 在java 9中可以直接使用

  如下所示:

//在java9中: 如果使用匿名內(nèi)部類(lèi),<> 鉆石操作符也可以直接使用
public class GenericDemo {
public static void main(String[] args) {
Operation<Integer> intOperation = new Operation<Integer>(1) {
@Override
public void handle() {
System.out.println(content);
}
};
intOperation.handle();
}
}
//定義一個(gè)抽象類(lèi):用來(lái)創(chuàng)建匿名內(nèi)部類(lèi)
abstract class Operation<T> {
public T content;
public Operation(T content) {
this.content = content;
}
abstract void handle();
}

好程序員公眾號(hào)

  • · 剖析行業(yè)發(fā)展趨勢(shì)
  • · 匯聚企業(yè)項(xiàng)目源碼

好程序員開(kāi)班動(dòng)態(tài)

More+
IT培訓(xùn)IT培訓(xùn)
在線咨詢(xún)
IT培訓(xùn)IT培訓(xùn)
試聽(tīng)
IT培訓(xùn)IT培訓(xùn)
入學(xué)教程
IT培訓(xùn)IT培訓(xùn)
立即報(bào)名
IT培訓(xùn)

Copyright 2011-2023 北京千鋒互聯(lián)科技有限公司 .All Right 京ICP備12003911號(hào)-5 京公網(wǎng)安備 11010802035720號(hào)