Java 열거형의 예: ValueOf, toString, Switch, compareTo
유형 열거형 Java에서 는 상수 변수를 선언할 수 있는 특수 데이터 유형입니다. Java에서 열거형 유형에 대한 선언 키워드는 enum.열거형의 예
5개의 검색 엔진으로 열거형 변수를 선언하려고 합니다.
public enum searchengines{Google, Yahoo, Bing, Exhead, Baidu};끝에 있는 쉼표는 선택 사항이며 두 쓰기 모두 합법적입니다.
상수에 액세스할 수 있습니다.
engines검색 엔진 = 검색 engines.Google;모든 열거형은 class java.lang.Enum 클래스는 하나의 부모에서만 상속할 수 있지만 여러 인터페이스에서 상속할 수 있기 때문입니다.
열거형은 강력한 도구입니다. 메서드와 속성을 넣을 수 있는 클래스나 인터페이스를 정의하기 때문입니다. 기본적으로 컴파일러는 values() 선언된 순서대로 값을 포함하는 배열을 반환합니다.
for
정적 메서드 values()은 스캔의 경우에 유용합니다(예:for( 검색 엔진 엔진: searchengines.values()) {
System.out.println (엔진);
}
특성 및 메서드
열거형 형식에는 생성자, 메서드, 변수 및 상수가 포함될 수 있습니다. 생성자에서 인수로 전달되어야 하는 값으로 상수를 초기화할 수 있습니다.public class EnumExample {출력:
public enum searchengines{
Google(160), Yahoo(66.4f), Bing(7.f), Baidu(66), Ask(4.6f);
개인 플로트 방문자;
개인 검색 엔진(플로트 방문자) {
this.visitors = 방문자;
}
}
public static void main(String[] args) {
for( 검색 엔진: searchengines.values()) {
System.out.println("검색 엔진: "+engine+"
방문자: "+engine.visitors+" 수백만");
}
}
}
검색 엔진: Google 방문자: 1억 6,000만 명
검색 엔진: Yahoo 방문자: 6,640만 명
검색 엔진: Bing 방문자: 700만 명
검색 엔진: 바이두 방문자 : 6,600 만 < br / > 검색 엔진 : 방문자에게 물어보세요 : 460 만
< / pre>상수가 선언되었습니다 static 및 final 생성되면 변경할 수 없습니다.두 열거형 간의 동등성 비교
비교는 equals() 또는 연산자 '=='를 사용하면 둘 다 동일한 결과를 제공하므로 선택할 수 있습니다.google search engines = searchengines.Google;
if(google.equals(GoogleSearchengines))
System.out.println("등호와의 비교");if(google == searchengines.Google)
System.out.println("=="과 비교);Switch 명령어
public class EnumExample{
public enum searchengines{
Google(160), Yahoo(66.4f), Bing(7.f), Baidu(66), Ask(4.6f);
개인 플로트 방문자;
개인 검색 엔진(플로트 방문자) {
this.visitors = 방문자;
}
}
검색 엔진 이름;
EnumExample(검색 엔진 이름){
this.name=name;
}
public void slogan() {
switch (name) {
Google:
System.out.println("악의를 품지 말고, 악을 행하지 마십시오.");
부동산;
상자 Yahoo:
System.out.println("Yahoo! 당신입니다. 야후?");
부동산;
box Bing:
System.out.println("Bing은 작업을 위한 것입니다.");
부동산;
상자 Baidu:
System.out.println("Baidu는 중국어를 더 잘 알고 있습니다.");
부동산;
box Ask:
System.out.println("질문이 무엇입니까?");
부동산;
}
}
public static void main(String[] args) {
Google Example = new ExampleNumber(SearchEngines.Google);
google.slogan();
예제 열거형 yahoo = new 예제 Enum(Searchengines.Yahoo);
yahoo.slogan()을 호출합니다.
예제 Num bing = new SampleNum(SearchEngines.Bing);
bing.slogan();
바이두 예제 열거형 = 새로운 바이두 예제 열거형(SearchEngines.Baidu);
baidu.slogan()을 호출합니다.
EnumExample ask = new EnumExample(Searchengines.Ask);
ask.slogan();
}
}생성자가 선언되어 있기 때문에 new 키워드로 enum의 인스턴스를 만들 수 없습니다. 프라이빗 런타임 중에 생성됩니다. private으로 설정하지 않더라도 private.toString 및 ValueOf
toString 상수의 이름을 반환합니다.함수 valueOf() 메서드의 역방향 처리를 수행합니다toString(), 이름을 지정하고 상수를 반환합니다.
System.out.println(yahoo.toString());System.out.println(yahoo.valueOf("Yahoo"));compareTo
이 함수는 두 열거형을 비교하는 데 사용되며이 객체가 각각 작거나 같거나 크면 -1, 0, 1을 반환합니다."google"이 "yahoo" 앞에 선언되어 있기 때문에 콘솔에 -1이 표시됩니다.System.out.println(google.compareTo(yahoo));
기억해야 할 사항:
- 상수 및 관련 값의 쉬운 선언.
- 열거형 java.lang.Enum.
- 열거형은 interfaces.
- Enumerations 를 구현할 수 없습니다. <메서드와 변수는 . ><>
- 변수와 생성자는 private.
- Allow 메서드를 사용하여 두 열거형을 비교할 수 있습니다. compareTo().
- Les 열거형 Switch.
References: