判斷類型java
⑴ java中如何判斷輸入的數據類型
你指的控制台輸入是main方法參數嗎?那參數是String數組,輸入的數據當然是String.
1.你可以用正則表達式判斷輸入的數據是否輸入的字元可以轉化為你需要的類型,當然也可以用異常處理機制或其他方法判斷是否可轉。
2.可以轉化的情況下就轉化下如Integer.parseInt(參數)或直接強制轉化(int)參數,這樣運行就不錯了。
⑵ Java程序 判斷數據類型
instanceof運算符,是用來在運行時指出對象是否是特定類的一個實例。instanceof通過返回一個布爾值來指出,這個對象是否是這個特定類或者是它的子類的一個實例。
用法:
result = object instanceof class
而你的代碼:if (!(x instanceof Double)判斷的是一個double基本類型數據是否是一個Double對象,這肯定不行,如果還不清楚,進5044群5871
⑶ JAVA怎樣判斷一個對象的類型
getName()函數可以判斷一個對象的類型。
此函數以 String 的形式返回此 Class 對象所表示的實體(類、介面、數組類、基本類型或 void)名稱
⑷ Java中如何判斷參數的類型。
可以通過Class的name屬性來查看數據類型,每一個對象都有一個Class,在java中一切皆對象,故能夠通過如下方式來獲取對象的類型:
Datedate=newDate();
System.out.println(date.getClass().getName());//java.util.Date
⑸ java怎麼判斷一個數據是什麼類型
先得到對象的類位元組碼Class對象,通過Class對象再得到類型,而後進行判斷是不原始類型方法可能是isPrimitive或數組isArray()。
⑹ java如何判斷屬性類型
你是想通過傳入一個類模板然後判斷出某個屬性的類型?
利用反射可以做到
Field filed = className.getDeclaredField(parameter);
className為對應類模版,parameter為你的屬性名稱
filed.getType().toString(); 然後利用這個方法可以查詢到對應屬性類型
基本類型直接返回比如 int 直接返回int ,如果是包裝或者引用 則直接
返回對應包類名 比如 class java.lang.Short
如果你要獲取所有的 還是利用class對象
Field[] fields =className.getDeclaredFields();
循環遍歷就可以了
⑺ 在java中如何判斷一個變數的類型
nextElement()如果此枚舉對象至少還有一個可提供的元素,則返回此枚舉的下一個元素。
利用這兩個函數,利用while循環就可以讀取裡面的元素,當然讀取出來得元素通過強制轉換,就可以和變數進行比較
希望對你有所幫助
⑻ java如何判斷屬性類型
你是想通過傳入一個類模板然後判斷出某個屬性的類型?
利用反射可以做到
Field
filed
=
className.getDeclaredField(parameter);
className為對應類模版,parameter為你的屬性名稱
filed.getType().toString();
然後利用這個方法可以查詢到對應屬性類型
基本類型直接返回比如
int
直接返回int
,如果是包裝或者引用
則直接
返回對應包類名
比如
class
java.lang.Short
如果你要獲取所有的
還是利用class對象
Field[]
fields
=className.getDeclaredFields();
循環遍歷就可以了
⑼ java判斷數字類型(小數和整數)
java判斷數字類型是否為小數,可以採用正則表達式的方式來判斷,以下是使用正則表達式來判斷數字類型是否為小數的代碼:
public static boolean isNumber(String str) {
boolean isInt = Pattern.compile("^-?[1-9]\d*$").matcher(str).find();
boolean isDouble = Pattern.compile("^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$").matcher(str).find();
return isInt || isDouble;
}
(9)判斷類型java擴展閱讀
java判斷數字類型,正則表達式用法:
1、$:匹配輸入行尾。如果設置了RegExp對象的Multiline屬性,$也匹配「 」或「 」之前的位置。
2、*:匹配前面的子表達式任意次。例如,zo*能匹配「z」,也能匹配「zo」以及「zoo」。*等價於{0,}。
3、+:匹配前面的子表達式一次或多次(大於等於1次)。例如,「zo+」能匹配「zo」以及「zoo」,但不能匹配「z」。+等價於{1,}。
4、?:匹配前面的子表達式零次或一次。例如,「do(es)?」可以匹配「do」或「does」。?等價於{0,1}。
5、{n,}:n是一個非負整數。至少匹配n次。例如,「o{2,}」不能匹配「Bob」中的「o」,但能匹配「foooood」中的所有o。「o{1,}」等價於「o+」。「o{0,}」則等價於「o*」。
⑽ java 判斷數據類型和方法的參數類型相同
1、如果你得到是一個Object對象,可以用if(obj instanceof String)來判斷是否是String對象,int是基本類型不可以這么判斷,只能用它的包裝類Integer,同樣用instanceof 。
2、如果set方法只能接受一個參數,而且必須有int的話,可以寫多個set方法,如set(String),set(int),編寫不同的處理邏輯。
3、instanceof 也是反射的一種方式。
4、如果有2個Object的參數,可以用if(obj1.getClass()==obj2.getClass())來判斷類型是否相同,如果要得到類型名,可以用obj.getClass().getName()來獲得對象的類名。
(10)判斷類型java擴展閱讀:
關於java數據類型的分類
Java基本類型共有八種,基本類型可以分為三類,字元類型char,布爾類型boolean以及數值類型byte、short、int、long、float、double。數值類型又可以分為整數類型byte、short、int、long和浮點數類型float、double。
JAVA中的數值類型不存在無符號的,它們的取值范圍是固定的,不會隨著機器硬體環境或者操作系統的改變而改變。實際上,JAVA中還存在另外一種基本類型void,它也有對應的包裝類 java.lang.Void,不過我們無法直接對它們進行操作。
8 中類型表示範圍如下:
byte:8位,最大存儲數據量是255,存放的數據范圍是-128~127之間。
short:16位,最大數據存儲量是65536,數據范圍是-32768~32767之間。
int:32位,最大數據存儲容量是2的32次方減1,數據范圍是負的2的31次方到正的2的31次方減1。
long:64位,最大數據存儲容量是2的64次方減1,數據范圍為負的2的63次方到正的2的63次方減1。
float:32位,數據范圍在3.4e-45~1.4e38,直接賦值時必須在數字後加上f或F。
double:64位,數據范圍在4.9e-324~1.8e308,賦值時可以加d或D也可以不加。
boolean:只有true和false兩個取值。
char:16位,存儲Unicode碼,用單引號賦值。