2014-11-21 29 views
0

我想根據字段類型執行一些邏輯。java如何檢查我從getType函數獲得的類型

我得到了場(Field類)類型:

Field[] fields = o.getClass().getFields(); 
for (Field field : fields) { 
    // which and how to use: 
    //Class<?> t = field.getType(); 
    // Type type = field.getType(); 
    if (type == byte) { 

    } else if (type == int) { 

    } 
} 

我怎麼能知道我得到哪些類型?

+0

你知道你得到哪些類型? - nvm – Joseph118 2014-11-21 06:34:41

+0

否(原始(bye,short,int,double ...)或其他類) – user3668129 2014-11-21 06:40:05

回答

2

你可以這樣說:

import java.lang.reflect.Field; 
import java.lang.reflect.Type; 

class Test 
{ 
    public String s; 
    public int member = 1; 
    public byte try1 = 0; 
    public int member2 = 4; 

    public static void main(String []args) 
    { 
     Test o = new Test(); 
     Field[] fields = o.getClass().getFields(); 
     for (Field field : fields) {     
      Class<?> type = field.getType(); 
      if (type.equals(byte.class)) { 
       System.out.println("byte"); 
      } else if (type.equals(int.class)) { 
       System.out.println("int"); 
      } else { 
       System.out.println("something else"); 
      }  
     } 
    } 
} 

輸出:

something else 
int 
byte 
int