2016-10-10 2 views
0

자바에서 String과 함께 switch {case()}를 사용하고 있으며 지금까지 완벽하게 작동하는 것으로 보입니다. 하지만 계속하기 전에 확인하고 싶습니다. 이거 안전한가요?자바 - 스위치에 문자열을 사용할 수 있습니까?

내 말은, if ("hi"== "hi") 일을해서는 안되지만 String은 참조 점을 참조하기 때문에 "hi".equals ("hi")를 수행해야합니다. .

내가 작품을 전환하는 방법도 확실하지 않다, 나는 내 소스의에서 확인할 수 없었다 ...

감사합니다!

+2

예 및 아니오, Java 버전에 따라 다름 (최대 1.7) – SomeJavaGuy

+0

Java 버전은 무엇을 의미합니까? – Orange

+2

@Orange : 음, 사용중인 Java 언어의 버전입니다 ... –

답변

0

language specification (강조 광산)에 따르면

경우 중 하나 표현식의 값과 동일한 상수 경우, 우리의 경우와 일치하는 것을 말하고, 상기 정합 결국 문 스위치 블록의 케이스 라벨이있는 경우 순서대로 실행됩니다.

이것은 스위치 케이스가 ==이 아니라 equals을 사용하여 평가됨을 의미합니다.