2013-12-08 4 views
3

은 문자열 리터럴은 항상 String 형 (§4.3.3)이다 Java 언어 사양대한 설명은

에 언급되어있다. "와 일치하는 닫기 전에"및 " "을 열 때 라인 종료 기호가 나타나는 것은 컴파일 타임 오류입니다.

§3.4에 명시된 바와 같이 CR 및 LF 문자는 결코 InputCharacter가 아닙니다. 각각은 LineTerminator를 구성하는 것으로 인식됩니다.

하지만 작성하고 실행 다음 문

public class StringOperation { 
     public static void main(String ...args){ 
      String first = "\n"; 
      System.out.println(first); 
     } 

    } 

을 나는 오류가 표시되지 않습니다 수 있습니다. 모든 통찰력에 감사드립니다.

답변

7

구문 "\n"은 실제 줄 종결자가 아닌 유효한 줄 끝 기호의 이스케이프 된 표현입니다. JLS이 같은 일을에서 당신을 배제 대신

String alphabet = "abcdefghijklm 
    nopqrstuvwxyz"; 

을, 당신은 할 필요가 :

String alphabet = "abcdefghijklm" + 
    "nopqrstuvwxyz"; 
3

이것이 실제 줄 바꿈이 문자열에서 허용되지 않습니다되어 언급된다

String first = " 

"; 

가 컴파일되지 않습니다. \ n은 실제로 유효하지 않은 이스케이프 된 줄 바꿈입니다.