JavaRush /Java Blog /Random-KO /Java의 문자열에 관해 가장 많이 묻는 10가지 질문
ext4
레벨 20

Java의 문자열에 관해 가장 많이 묻는 10가지 질문

Random-KO 그룹에 게시되었습니다

Java 문자열에 관해 가장 많이 묻는 10가지 질문은 여기에 언급되어 있습니다.

[번역] 자바 문자열에 관해 가장 많이 묻는 10가지 질문 - 1
  1. 문자열을 비교하는 방법은 무엇입니까? 무엇을 사용할 것인가: " ==" 또는 equals()?

    간단히 말해서, " =="는 문자열에 대한 참조를 비교하지만 equals()해당 문자열에 포함된 값을 비교합니다. 두 문자열이 동일한 객체인지 확인하고 싶지 않다면 를 사용해야 합니다 equals().

    스트링 풀 의 개념도 알아두면 좋을 것 같습니다 .

  2. char[]민감한 정보를 보호하기 위해 문자열( )을 선호하는 이유는 무엇입니까 String?

    문자열은 변경할 수 없습니다 . 즉, 문자열이 생성되면 가비지 수집기가 실행될 때까지 수정되지 않습니다. 배열의 경우 요소를 변경할 수 있다는 것은 매우 분명합니다. 이렇게 하면 민감한 정보(예: 비밀번호)가 프로그램의 어느 곳에도 일반 텍스트로 저장되지 않습니다.

  3. switch 문을 사용할 때 문자열을 매개변수로 전달할 수 있나요 ?

    예, JDK 버전 7부터 시작됩니다. 이전 버전 6에서는 이것이 불가능했습니다.

    // java 7 only!
    switch (str.toLowerCase()) {
          case "a":
               value = 1;
               break;
          case "b":
               value = 2;
               break;
    }
  4. 문자열을 정수 값으로 변환하는 방법은 무엇입니까?

    int n = Integer.parseInt("10");

    Java의 다른 기본 유형에도 마찬가지입니다.

  5. 문자열을 공백으로 구분된 줄로 분할하는 방법은 무엇입니까?

    가장 쉬운 방법은 정규식을 사용하는 것입니다. " "는 " ", " ", " ", " " \s와 같은 공백 문자를 대체하는 역할을 합니다 . \t\r\n

    String[] strArray = aString.split("\\s+");
  6. < 이 메소드는 실제로 무엇을 하는가 substring()?

    JDK 6에서는 이 메서드가 substring()기존 문자열의 문자 일부를 표시했지만 별도의 문자열 인스턴스를 생성하지는 않았습니다. 문자 배열로 표시되는 새 문자열을 만들려면 다음과 같이 빈 문자열을 추가하면 됩니다.

    str.substring(m, n) + ""

    결과는 새로운 문자열인 문자 배열입니다. 가비지 수집기가 사용되지 않는 큰 문자열을 삭제하고 하위 문자열만 저장할 수 있으므로 이 접근 방식을 사용하면 코드 실행 시간이 단축되는 경우가 있습니다.

    Oracle JDK 7에서는 이 메서드가 substring()기존 문자 배열을 사용하지 않고 새 문자 배열을 생성합니다. JDK 6과 JDK 7의 substring() 메소드 간의 차이점을 나타내는 다이어그램을 살펴볼 수도 있습니다 .

  7. 문자열 대 StringBuilder 대 StringBuffer

    Stringvs StringBuilder: StringBuilder변경 가능, 즉 객체가 생성된 후 내용을 변경할 수 있음을 의미합니다.

    StringBuildervs StringBuffer: StringBuffer동기화됨. 동시에 여러 스레드에서 사용될 때 올바르게 작동하지만 StringBuilder.

  8. 한 줄을 여러 번 반복하는 방법은 무엇입니까?

    Python에서는 단순히 문자열에 숫자를 곱하면 nn번 반복됩니다. repeat()Java에서는 Apache Commons Lang 라이브러리 클래스 의 메서드를 사용할 수 있습니다 StringUtils.

    String str = "abcd";
    String repeated = StringUtils.repeat(str,3);
    //abcdabcdabcd
  9. 문자열을 날짜로 변환하는 방법은 무엇입니까?

    String str = "Sep 17, 2013";
    Date date = new SimpleDateFormat("MMMM d, yy", Locale.ENGLISH).parse(str);
    System.out.println(date);
    //Tue Sep 17 00:00:00 EDT 2013
  10. 문자열에서 특정 문자의 발생 횟수를 계산하는 방법은 무엇입니까?

    StringUtilsApache Commons Lang 라이브러리의 클래스를 사용하십시오 .

    int n = StringUtils.countMatches("11112222", "1");
    System.out.println(n);
코멘트
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION