JAVA 泛型与反射
生活随笔
收集整理的這篇文章主要介紹了
JAVA 泛型与反射
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
泛型實(shí)質(zhì)上就是程序員定義安全的類型 ??
泛型的語法: ? ? 類名 <T>
之前java也提供了對(duì)object類的引用"任意化操作",這種任意化操作對(duì)Object引用進(jìn)行向下轉(zhuǎn)型及向上轉(zhuǎn)型操作,但一些類型轉(zhuǎn)換的錯(cuò)誤也許不會(huì)被編譯器捕捉,而在運(yùn)行后出現(xiàn)異常,可見強(qiáng)制類型轉(zhuǎn)換存在安全隱患,所以提供了泛型安全機(jī)制。
未使用泛型的:
package FanXing;public class Test {private Object b;public Object getB(){return b;}public void setB(Object b){this.b = b;}public static void main(String[] args) {Test t = new Test();t.setB(new Boolean(true));//向上轉(zhuǎn)型操作 System.out.println(t.getB());t.setB(new Float(12.3));Float f = (Float)(t.getB());//向下轉(zhuǎn)型操作System.out.println(f);} }使用泛型的:
package FanXing;public class OverClass<T> {//定義泛型類 private T over;//定義泛型成員變量public T getOver(){return over;}public void setOver(T over){this.over = over;} public static void main(String[] args) {//實(shí)例化一個(gè)Boolean型的對(duì)象OverClass<Boolean> over1 = new OverClass<Boolean>();//實(shí)例化一個(gè)Boolean型 的對(duì)象OverClass<Float> over2 = new OverClass<Float>();over1.setOver(true);//不需要進(jìn)行類型轉(zhuǎn)換over2.setOver(12.3f);//不需要進(jìn)行類型轉(zhuǎn)換Boolean b = over1.getOver();Float f = over2.getOver();System.out.println(b);System.out.println(f); } }定義泛型類時(shí),一般類型名稱使用T來表示,而容器的元素則使用E來表示。
總結(jié)
以上是生活随笔為你收集整理的JAVA 泛型与反射的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java SSM框架
- 下一篇: w7怎么关闭自动休眠 如何关闭W7自动睡