1. 程式人生 > >Java中enum和C#中的異同

Java中enum和C#中的異同

3、所有列舉類都繼承了Enum的方法,下面我們詳細介紹這些方法。
       (1)  ordinal()方法: 返回列舉值在列舉類種的順序。這個順序根據列舉值宣告的順序而定。
               Color.RED.ordinal();  //返回結果:0
               Color.BLUE.ordinal();  //返回結果:1
       (2)  compareTo()方法: Enum實現了java.lang.Comparable介面,因此可以比較象與指定物件的順序。Enum中的compareTo返回的是兩個列舉值的順序之差。當然,前提是兩個列舉值必須屬於同一個列舉類,否則會丟擲ClassCastException()異常。(具體可見原始碼)
                Color.RED.compareTo(Color.BLUE);  //返回結果 -1
       (3)  values()方法: 靜態方法,返回一個包含全部列舉值的陣列。
                Color[] colors=Color.values();
               for(Color c:colors){
                      System.out.print(c+",");
                 }//返回結果:RED,BLUE,BLACK YELLOW,GREEN,
       (4)  toString()方法: 返回列舉常量的名稱。
                Color c=Color.RED;
               System.out.println(c);//返回結果: RED
       (5)  valueOf()方法: 這個方法和toString方法是相對應的,返回帶指定名稱的指定列舉型別的列舉常量。
               Color.valueOf("BLUE");   //返回結果:Color.BLUE
       (6)  equals()方法: 比較兩個列舉類物件的引用。

相關推薦

JavaenumC#異同

3、所有列舉類都繼承了Enum的方法,下面我們詳細介紹這些方法。        (1)  ordinal()方法: 返回列舉值在列舉類種的順序。這個順序根據列舉值宣告的順序而定。                Color.RED.ordinal();  //返回結果:0                Colo

C/C++printfC++cout的輸出格式

一、 Printf 輸出格式   C中格式字串的一般形式為: %[標誌][輸出最小寬度][.精度][長度]型別,其中方括號[]中的項為可選項。各項的意義介紹如下:1.型別型別字元用以表示輸出資料的型別,其格式符和意義下表所示: 表示輸出型別的格式字元   格式字元意義 a          

【夾娃系列】java面試基礎知識儲備(¥1)——java的優點C++的異同

怎麼才能夾到布娃娃 沒錯!!這個文章就是告訴你怎麼才能用一個硬幣,抓到最多的布娃娃QAQ,這是我抓娃娃的第一個硬幣¥1.【宣告】夾娃系列純屬個人學習,參考了不少面試的書,《程式設計之美》、《演算法珠璣》、《劍指offer》、《java程式設計師

javac#String

語句 end sql string light pre col 逗號 builder java中: c#中: 1.拼接字符串 sql語句中 in() str="‘001‘,‘002‘,‘003‘";至於產生string就這樣 str1="‘001‘";str2

Java過載覆蓋的異同

方法的覆蓋和過載具有以下相同點: 都要求方法同名  都可以用於抽象方法和非抽象方法之間 方法的覆蓋和過載具有以下不同點: 方法覆蓋要求引數列表(引數簽名)必須一致,而方法過載要求引數列表必須不一致。  方法覆蓋要求返回型別必須一致,方法過載對此沒有要求。 

Helper 類在JavaC 的設計

                Java有三個選擇1)採用普通的類有公有建構函式,沒有成員變數,提供了很多成員函式作為方法,呼叫程式碼如下:Helper helper = new Helper();helper.f1();這種方法的缺點是建立物件的開銷是不必要的,我們知道建立物件意味著,首先要分配記憶體,然後

關於javac++布林量的比較

在c++中允許 bool 量和 int 整形常量相互轉換,並且用cout<<true; 在控制檯上可以輸出為 1 int main(int argc, _TCHAR* argv[]) { int num = 0; int total = 2; bool

原來Java的繼承C#的繼承是不一樣的

因為之前在學校裡學的是Java,C#是自學的,一直感覺Java和C#就像是孿生兄弟,不過今天才發現原來Java中的繼承和C#中的繼承還是有點不一樣的 在Java中子類繼承父類的方法,如果在子類重新定義了父類方法的實現,那麼這個過程就是重寫,且只能是重寫,而在C

JavaC#3DES的加密與解密

最近在工作中遇到將Java環境的一個使用者ID用表單形式傳遞給.net環境做校驗,考慮到不能將使用者ID作為明文傳遞,因此利用簡單的3DES進行加密解密操作。 需要注意的就是: (1)兩種環境下3DES加密解密的一致性問題:C#會對解密生成的byte在不滿足長度16時,自動

java的引用C++的指標的區別

1.型別:引用其值為地址的資料元素,java封裝了的地址,可以轉成字串檢視,長度可以不必關心。C++指標是一個裝地址的變數,長度一般是計算機字長,可以認為是個int。 2.所佔記憶體: 引用宣告時沒有實體,不佔空間。C++指標如果聲明後會用到才會賦值,如果用不到不會分配記憶體

javac#的String equals == 比較

     public boolean equals(Object anObject) {         if (this == anObject) {            return true;         }         if (anObject instanceof String) {  

java定義常量C#定義常量的區別

一、常量定義的基本注意事項。   在Java語言中,主要是利用final關鍵字()來定義常量。當常量被設定後,一般情況下就不允許再進行更改。如可以利用如下的形式來定義一個常量:final double PI=3.1315。在定義這個常量時,需要注意如下內容:   一是常

JavaC++自增的區別

Java和C++對i++自增操作符的處理是不同的,JAVA是在記憶體中複製一份i值的拷貝再運算,而C++中是直接在原值上運算。 int i = 0; i = i++; 在java中i=i++的運算實質是先執行在記憶體中複製一份i的拷貝再i++

Helper 類在JavaC++的設計

vat 類繼承 font 規範 per 公有 函數 解決 ava Java 有三個選擇 1)采用普通的類 有公有構造函數,沒有成員變量,提供了很多成員函數作為方法,調用代碼如下: Helper helper = new Helper(); helper.f1(

JAVAC#資料庫連線池原理與應用

JAVA和C#中資料庫連線池原理 在現在的網際網路發展中,高併發成為了主流,而最關鍵的部分就是對資料庫操作和訪問,在現在的網際網路發展中,ORM框架曾出不窮, 比如:.Net-Core的EFCore、SqlSugar、Dapper。JAVA的Spring-DataJpa(EntityManager),Myba

Pythonrangexrange的異同之處

基本上 xrange class 依據 對象 lis tar 都是 post range 函數說明:range([start,] stop[, step])。依據start與stop指定的範圍以及step設定的步長,生成一個序列。 range演示樣例: &

CC++的計時器

ons 計數 函數返回 void 結構 命令 msdn ear trie   在我們調試代碼的時候,很多時候需要用代碼的運行時間來衡量代碼的效率,看了網上已經有了很多關於計時的文章,自己學習的時候再進行一些整理吧。 1. time()函數    在頭文件time.h中,

vs的一些常用設定c#的一些程式碼解釋

shift +空格切換全形半形 ctrl+f可以啟用vs的搜尋功能,然後可以搜尋所建專案中的的內容 c#中程式碼以分號結束 Console.WriteLine();輸出內容。 Console.ReadKey();:作用暫停當前程式;等待使用者按任意鍵繼續,按鍵會顯示在螢幕上。 執

vuecomputed watch的異同

computed 在資料未發生變化時,優先讀取快取。computed 計算屬性只有在相關的資料發生變化時才會改變要計算的屬性,當相關資料沒有變化是,它會讀取快取。而不必想 motheds方法 和 watch 方法是的每次都去執行函式。 computed:{ fullName:{

Luapairs ipairs的異同

內容會持續更新,有錯誤的地方歡迎指正,謝謝! 相同點: 都能遍歷集合(表、陣列) 不同點: pairs 能遍歷集合的所有元素。 ipairs 只能按照索引升序遍歷,若索引中斷則停止遍歷,也就是若遇到 nil 則會退出。 也就是,只會從1開始(如果key裡沒有1