1. java如何判斷對象屬性是什麼類型
java中判斷Object對象類型
復制代碼
Object param = params.get(i);
if (param instanceof Integer) {
int value = ((Integer) param).intValue();
prepStatement.setInt(i + 1, value);
} else if (param instanceof String) {
String s = (String) param;
prepStatement.setString(i + 1, s);
} else if (param instanceof Double) {
double d = ((Double) param).doubleValue();
prepStatement.setDouble(i + 1, d);
} else if (param instanceof Float) {
float f = ((Float) param).floatValue();
prepStatement.setFloat(i + 1, f);
} else if (param instanceof Long) {
long l = ((Long) param).longValue();
prepStatement.setLong(i + 1, l);
} else if (param instanceof Boolean) {
boolean b = ((Boolean) param).booleanValue();
prepStatement.setBoolean(i + 1, b);
} else if (param instanceof Date) {
Date d = (Date) param;
prepStatement.setDate(i + 1, (Date) param);
}
復制代碼
2. Java 中:if(Object類型 instanceof Vector集合)
instanceof是Java的一個二元操作符,和==,>,<是同一類東西。由於它是由字母組成的,所以也是Java的保留關鍵字。它的作用是測試它左邊的對象是否是它右邊的類的實例,返回boolean類型的數據。舉個例子:
String s = "I AM an Object!";
boolean isObject = s instanceof Object;
聲明一個String對象引用,指向一個String對象,然後用instanceof來測試它所指向的對象是否是Object類的一個實例,顯然,這是真的,所以返回true,也就是isObject的值為true。
instanceof有一些用處。比如我們寫了一個處理賬單的系統,其中有這樣三個類:
public class Bill {//省略細節}
public class PhoneBill extends Bill {//省略細節}
public class GasBill extends Bill {//省略細節}
在處理程序里有一個方法,接受一個Bill類型的對象,計算金額。假設兩種賬單計算方法不同,而傳入的Bill對象可能是兩種中的任何一種,所以要用instanceof來判斷:
public double calculate(Bill bill) {
if (bill instanceof PhoneBill) {
//計算電話賬單
}
if (bill instanceof GasBill) {
//計算燃氣賬單
}
...
}
這樣就可以用一個方法處理兩種子類。
然而,這種做法通常被認為是沒有好好利用面向對象中的多態性。其實上面的功能要求用方法重載完全可以實現,這是面向對象變成應有的做法,避免回到結構化編程模式。只要提供兩個名字和返回值都相同,接受參數類型不同的方法就可以了:
public double calculate(PhoneBill bill) {
//計算電話賬單
}
public double calculate(GasBill bill) {
//計算燃氣賬單
}
所以,使用instanceof在絕大多數情況下並不是推薦的做法,應當好好利用多態。
instanceof 一般情況下 用在對象類型的強制轉換 ,
例如:
繼承關系 class Manager extends Employee
----------------------------------------------------------
public void doSomething(Employee e) {
if ( e instanceof Mangaer){
Manager m = (Manager) e ;
}
}
-----------------------------------------------------------
3. java怎麼判斷一個數據是什麼類型
先得到對象的類位元組碼Class對象,通過Class對象再得到類型,而後進行判斷是不原始類型方法可能是isPrimitive或數組isArray()。
4. 怎樣判斷一個Object對象是一個什麼類型如(String)
public boolean isString(Object obj){
boolean flag=false;
if(obj instanceof java.lang.String){
flag=true;
}
return flag;
}
或許樓主已經解決了該問題,但還是希望別人進來能夠看到該答案!
5. JAVA怎樣判斷一個對象的類型
System.out.println(object.getClass().getName());
使用java.lang.Object 中的getClass()方法
/**Class<?> getClass()
Returns the runtime class of this Object. */