日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

java泛型和注解,泛型 · 注解和泛型 · 看云

發布時間:2025/3/12 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java泛型和注解,泛型 · 注解和泛型 · 看云 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

[TOC]

# 泛型

## 為什么要使用泛型

在之前學過的集合框架中,List和Map都使用了泛型技術來確認其內容的數據類型。

如果不使用泛型,在程序運行階段,會帶來數據類型轉型的錯誤風險。

~~~

List list = new ArrayList();

list.add("tom");

for (int i = 0; i < list.size(); i++) {

String obj = list.get(i);

System.out.println(obj);

}

List list2 = new ArrayList();

list2.add("helen");

list2.add(2); // 自動裝箱成Integer

list2.add(true); // 自動裝箱成Boolean

for (int i = 0; i < list2.size(); i++) {

String obj = (String)list2.get(i); // 此處是有風險的

}

~~~

在Java中,使用變量之前,必須要先定義變量的數據類型,存在一種特殊的現象,就是多態(數據類型是父類,實現對象是子類),變量賦值不一定要完全和數據類型一致,可以賦予子類對象給它。

~~~

public class Client2 {

public static void main(String[] args) {

Point point = new Point();

point.x = "東經102°";

point.y = "北緯32°";

point.x = 102;

point.y = 32;

String s = (String) point.x;

point.print();

}

}

class Point {

Object x;

Object y;

public void print() {

System.out.println(x + "" + y);

}

}

~~~

> 向下轉型會帶來數據風險的(ClassCastException)

## 泛型使用

~~~

public class Client3 {

public static void main(String[] args) {

Point3 p3 = new Point3();

p3.x = 1;

p3.x = 2;

}

}

class Point3 {

T1 x;

T2 y;

}

~~~

**泛型定義**:名字要符合標識符定義的規范,但是我們一般使用大寫字母定義,T(一般的泛型類型) E(異常的泛型類型) K V (鍵值對的泛型類型)

類的泛型在className之后定義,只有定義的泛型類型才能在類中使用。

> 泛型一般使用于框架設計,在實際的應用開發中較少運行。

總結

以上是生活随笔為你收集整理的java泛型和注解,泛型 · 注解和泛型 · 看云的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。