小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

Java變量類型識別的3種方式

 三十的狼 2018-03-14
                 轉(zhuǎn)載 2016年10月21日 10:23:21
  • 標(biāo)簽:
  • java


內(nèi)容導(dǎo)覽

  1. 反射方式,成員變量的類型判斷
  2. isInstance用法
  3. 利用泛型識別類型

測試類:

Java代碼  收藏代碼
  1. package com.cxyapi.oo;  
  2.   
  3. import java.util.Date;  
  4.   
  5. import com.cxyapi.generics.TypeToolsGenerics;  
  6.   
  7. /** 類型識別工具測試類 
  8.  * @author cxy @ www.cxyapi.com 
  9.  */  
  10. public class TypeToolsTest2  
  11. {  
  12.     private static int ii=0;  
  13.     private static Date d=new Date();  
  14.       
  15.     public static void main(String[] args) throws Exception  
  16.     {  
  17.         //補(bǔ)充一:獲得成員變量的類型  
  18.         System.out.println(TypeToolsTest2.class.getDeclaredField("ii").getType());   
  19.         System.out.println(TypeToolsTest2.class.getDeclaredField("d").getType());   
  20.         System.out.println("----------------------");  
  21.           
  22.         //補(bǔ)充二:isInstance可判斷出包裝類型,從而得知基本類型  
  23.         System.out.println(Integer.class.isInstance(ii));  
  24.         System.out.println(Date.class.isInstance(d));  
  25.         System.out.println("----------------------");  
  26.           
  27.         //補(bǔ)充三:泛型方式判斷類型  
  28.         System.out.println(TypeToolsGenerics.getType(ii));  
  29.         System.out.println(TypeToolsGenerics.getType(2.2));  
  30.         System.out.println(TypeToolsGenerics.getType(true));  
  31.         System.out.println(TypeToolsGenerics.getType('a'));  
  32.         System.out.println(TypeToolsGenerics.getType(d));  
  33.     }  
  34. }  

 

泛型方式類型識別工具:

Java代碼  收藏代碼
  1. package com.cxyapi.generics;  
  2.   
  3. import java.util.HashMap;  
  4. import java.util.Map;  
  5.   
  6.   
  7. /** 類型識別工具 泛型 
  8.  * @author cxy @ www.cxyapi.com 
  9.  */  
  10. public class TypeToolsGenerics  
  11. {  
  12.     private static final Map<String,String> typeMap=new HashMap<String,String>();  
  13.     static  
  14.     {  
  15.         typeMap.put("java.lang.Byte""byte");  
  16.         typeMap.put("java.lang.Short""short");  
  17.         typeMap.put("java.lang.Integer""int");  
  18.         typeMap.put("java.lang.Long""long");  
  19.         typeMap.put("java.lang.Double""double");  
  20.         typeMap.put("java.lang.Float""float");  
  21.         typeMap.put("java.lang.Character""char");  
  22.         typeMap.put("java.lang.Boolean""boolean");  
  23.     }  
  24.     public final static <T> String getType(T t)  
  25.     {  
  26.         if(t==null){return null;}  
  27.         String typeInfo=t.getClass().getName();  
  28.         return typeMap.containsKey(typeInfo)?typeMap.get(typeInfo):typeInfo;   
  29.     }  
  30. }  

http://csjavapx.lofter.com

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多