java枚舉判斷
① java的枚舉值能不能用==比較
一般在Java代碼裡面,涉及到比較2個值的問題,除了是簡單的一般數據類型意外,字元串除外,我們都是使用==來判斷是否相等的,但是對於字元串和對象以及封裝類型的數據都是使用equals方法,來判斷2個值是否相等。所以,當我看到別人的代碼中,枚舉類型變數,直接使用==,來判斷是不是相等,很是詫異。然後就有了下面的調查和測試。
先看測試代碼:
[java]view plain
/**
*測試枚舉比較,使用equal和==
*/
(){
GameEnums1=GameEnum.BIG;
GameEnums2=GameEnum.BIG;
GameEnumss1=GameEnum.SMALL;
System.out.println("s1==s2:"+(s1==s2));
System.out.println("s1.equals(s2):"+(s1.equals(s2)));
System.out.println("s1==ss1:"+(s1==ss1));
System.out.println("s1.equals(ss1):"+(s1.equals(ss1)));
}
再看使用的枚舉代碼:[java]view plain
/**
*Createdbylxkon2017/2/23
*/
publicenumGameEnum{
BIG,
SMALL,
FATTER
}
最後是代碼執行的結果圖:
② java中如何判斷一個變數是否屬於某個枚舉類型中的元素
介面enumeration的兩個函數booleanhasmoreelements()測試此枚舉是否包含更多的元素。nextelement()如果此枚舉對象至少還有一個可提供的元素,則返回此枚舉的下一個元素。利用這兩個函數,利用while循環就可以讀取裡面的元素,當然讀取出來得元素通過強制轉換,就可以和變數進行比較希望對你有所幫助
③ java中如何判斷一個變數是否屬於某個枚舉類型中的元素
介面 Enumeration的兩個函數 boolean hasMoreElements()測試此枚舉是否包含更多的元素。 nextElement()如果此枚舉對象至少還有一個可提供的元素,則返回此枚舉的下一個元素。 利用這兩個函數,利用while循環就可以讀取裡面的元素,當然讀取出來得元素通過強制轉換,就可以和變數進行比較 。
④ java 判斷返回值為枚舉類型
public class Test {
public enum ColorSelect {
red, green, yellow, blue;
}
private static ColorSelect getE()
{
ColorSelect c=ColorSelect.blue;
return c;
}
public static void main(String[] args) {
Object o=getE();
if(o instanceof Enum)
{
System.out.println(o);
}
}
}
⑤ java 判斷一個類是不是枚舉
publicstaticvoidmain(String[]args){
Classz=zz.class;
if(z.isEnum()){
System.out.println("是enum");
}
}
publicenumzz{
stat
}
⑥ Java:如何檢查枚舉是否包含給定的字元串
可以是整型,順便給你我總結的枚舉。
1.枚舉對象裡面的值都必須是唯一的,enum 中不能刪除添加元素。
2.元素是公有靜態的public static,構造方法只能為private。
2.可以通過 Enum 類名直接引用該常量,如Unit.u1
3.允許程序員為eunm 實例編寫方法,如果打算自定義自己的方法,那麼必須在enum實例序列的最後添加一個分號。而且 Java 要求必須先定義 enum 實例,否則編譯器會報錯。
4.可以創建一個enum 類,把它看做一個普通的類(可以有抽象方法)。可以添加其他方法,覆蓋它本身的方法。
5.values() 方法是編譯器插入到enum 定義中的static 方法,所以,當你將enum 實例向上轉型為父類Enum 是,values() 就不可訪問了。
6.所有enum都繼承java.lang.Enum類。
7.所有枚舉類都提供一個靜態的values()方法(返回該枚舉類所有對象組成的數組),便於遍歷所有枚舉對象。
for (Unit u: Unit.values()) {
System.out.println(u); }
⑦ 請問java中比較枚舉類對象值相等是用==還是equals
用==;equals是比較兩個字元串類型的數據是不是一致的。枚舉類型都是用==的哈。
⑧ JAVA中枚舉是什麼意思,怎麼用
枚舉就是把集合里的對象元素 一個一個提取出來!比如說 你買了一合巧克力 裡面有草莓味的 有香草口味的 有蘋果口味的 你想把他們拿出來 就必須用「手」一個一個把他們拿出來 並且一次只能取一個哦 這里的手就是枚舉器 你取的動作就是枚舉的過程
具體的用法 這個我就不好說了 推薦 你看看JDK1.5的API和參考別人的範例
看完了 基本可以理解 枚舉幾種選擇(有迭代器和枚舉器2種)和如何判斷是否已經取完了對象元素 等等 我不是很喜歡講語法 所以不好意思我就不給你丟代碼了~
⑨ 怎麼比較兩個枚舉類型是否相等
如果是引用數據類型,那麼就是判斷兩個對象在內存中的地址是否相等;如果是基本數據類型,那就是判斷兩個值是否相等 equals:判斷兩個對面的值字元串是否相等 對面枚舉來說,使用equals和==是一樣的。
寫一個main方法來測試比較:
public class Test {
public static void main(String[] args) {
Language enumObj = Language.JAVA;
if (enumObj == Language.JAVA) {
System.out.println("Welcome Java");
} else if (enumObj == Language.NET) {
System.out.println("Welcome .Net");
} else if (enumObj == Language.NODE) {
System.out.println("Welcome Node JS");
} else if (enumObj == Language.PYTHON) {
System.out.println("Welcome Python");
} else if (enumObj == Language.RUBY) {
System.out.println("Welcome Ruby");
} else {
System.out.println("Hello World");
}
}
}
結果輸出:
Welcome Java
(9)java枚舉判斷擴展閱讀:
枚舉類型放在窗體模塊、標准模塊或共用模塊中的聲明部分,通過enum語句來定義。
格式:[public|private] enum name
membername[=constantexpression]
membername[=constantexpression]
(maomi)
…..
End enum
public:表示該枚舉類型在整個工程中都是可見的(預設的)
private:表示枚舉類型只在所聲明的模塊中是可見的。Name: 枚舉類型的名稱。必須是一個合法的VB標識符,在定義該枚舉類型的變數或參數時用該名稱來指定類型.
⑩ java 枚舉 判斷
說明線上的getLevel() 不是等於那個嘛,你怎麼考慮到這個bug呢,我覺得是你的條件不對啦,你列印看看嘛