2011-10-20 6 views
3

저는 jre7에 있는데도 여전히 문자열을 바꿀 수 없습니다. jdk7 update 1을 설치하고 이클립스를 가리켰으나 여전히 운이 없다. 내가 뭘 잘못하고 있는거야? 여기JRE7에서 문자열을 사용할 수 없습니다.

은 코드입니다 :

String code = "something"; 
switch(code) { 
    case "xxx": dosomehting(); break; 
    default: dosomethingelse(); break; 
} 

오류 내가 얻을 :

는 String 형의 값을 전환 할 수 없습니다. 변환 가능한 int 값 또는 enum 정수만 사용할 수 있습니다.

+0

Java SE 7을 지원하는 Eclipse 버전이 있습니까? (예 : 버전 3.7은 AFAIK가 좋음) – Puce

+0

오류 및 코드 게시! –

+0

나는 3.7에있다. 그러면 괜찮을 것이다. – amnesyc

답변

1

이전 JDK [6 또는 이전 버전]에서 컴파일하려고하는 것 같습니다. JDK를 설치하고 Eclipse 설정이 새 플랫폼을 반영하는지 확인하십시오. 또한 프로젝트가 JDK7 플랫폼을 반영하는지 확인하십시오.

+0

내가 한 것은 빌드 경로를 변경하고 jdk7에있는 새 jre를 가리키는 것입니다. 이제 Eclipse는 빌드 경로에 JRE 시스템 라이브러리 [jdk1.7.0_01]를 표시합니다. 그 밖의 무엇을해야합니까? 거기에 사용되는 컴파일러를 변경할 수있는 방법이 있습니까? – amnesyc

+0

방법이있는 경우 javac -version 또는 ilk를 게시 또는 사전 컴파일 단계로 실행하도록 Eclipse를 가져 오십시오. 나는 일식을 사용하지 않기 때문에 정확한 세부 정보를 줄 수는 없다. 그러나 Netbeans/IDEA는 "플랫폼 선택"유형 인터페이스를 사용하여 Java 플랫폼/버전간에 전환합니다. – monksy

0

세 가지가 확인 마음에 봄 :

  • 이클립스는 여전히 (6) JDK의 설치 이전을 가리키고 있지 않은지 확인합니다.
  • 컴파일 할 소스 수준을 선택하지 않았는지 확인하십시오. 예. -source 1.6.
  • Java 7 구문을 지원하는 Eclipse 버전을 사용하고 있는지 확인하십시오.
2

Eclipse 3.7은 jdk 1.6 만 지원합니다. 당신은 http://download.eclipse.org/eclipse/downloads/drops/R-3.7.1-201109091335/index.php

에 따라 3.7.1이 필요합니다. (기억하십시오 : Eclipse는 suns 컴파일러를 사용하지 않으며, 자체적으로 사용하므로 jdk 1.7을 설치하는 것만으로는 충분하지 않습니다).

이클립스를 열고 도움말 -> 업데이트 확인을 선택하십시오. - 3.7.1로 업그레이드해야합니다.

+2

속성 -> Java 컴파일러에서 컴파일러 준수 레벨의 최대 레벨은 1.6입니다. 그래서 제가 그것을 봉인하는 것 같아요. Eclipse를 3.7에서 3.7.1로 업데이트하려면 어떻게해야합니까? – amnesyc

+0

3.7에서 3.7.1로 업그레이드하는 것에 대한 의견을 추가했습니다. – MTilsted

+0

감사합니다 Amnesyc, 나는 이것이 오래된 스레드라는 것을 알고 있습니다. 그러나 저는 Eclipse 4.2.2에서이 문제를 만났습니다. 컴파일러 레벨을보고 제 문제를 수정했습니다. – Patrick

관련 문제