Java Strings
다음은 Java Strings에 대한 자주 묻는 10 가지 질문입니다.
1. 문자열을 비교하는 방법? "=="를 사용하거나 equals ()를 사용 하시겠습니까?
간단히 말해, "=="은 참조가 동일하면 테스트하고 값이 동일하면 equals () 테스트를 수행합니다.
두 문자열이 같은 객체인지 확인하고 싶지 않다면 항상 equals ()를 사용해야합니다.
문자열 인턴 의 개념을 알고 있다면 더 좋을 것 입니다.
2. 보안에 민감한 정보를 위해 char보다 char이 더 좋은 이유는 무엇입니까?
문자열은 불변 (immutable )하므로 일단 생성되면 가비지 컬렉터가 시작될 때까지 변경되지 않습니다. 배열을 사용하면 명시 적으로 요소를 변경할 수 있습니다. 이러한 방식으로 보안 민감한 정보 (예 : 암호)는 시스템의 어느 곳에도 존재하지 않습니다.
3. switch 문에 string을 사용할 수 있습니까?
4. string을 int로 변환하는 방법은 무엇입니까?
단순하지만 자주 사용되며 때로는 무시됩니다.
5. 공백 문자로 문자열을 분할하는 방법은 무엇입니까?
6. substring () 메서드가 실제로하는 일은 무엇입니까?
JDK 6에서 substring () 메서드는 기존 String을 나타내는 char 배열에 창을 제공하지만 새 String은 생성하지 않습니다. 새로운 문자 배열로 표현 된 새로운 문자열을 생성하려면 다음과 같이 빈 문자열을 추가하면됩니다.
Oracle JDK 7에서 substring ()은 새로운 char 배열을 생성하고 기존의 char 배열을 사용하지 않습니다. JDK 6와 JDK 7의 substring () 차이점 을 보여주는 다이어그램을 확인하십시오 .
7. String vs StringBuilder vs StringBuffer
String vs StringBuilder : StringBuilder는 변경할 수 있습니다. 즉, 생성 후 수정할 수 있습니다.
StringBuilder와 StringBuffer : StringBuffer는 동기화되어 스레드 안전성이 있지만 StringBuilder보다 느리다는 것을 의미합니다.
8. 문자열을 반복하는 방법?
파이썬에서는 숫자를 곱하여 문자열을 반복 할 수 있습니다. Java에서는 Apache Commons Lang 패키지의 StringUtils의 repeat () 메소드를 사용할 수 있습니다.
9. 문자열을 날짜로 변환하는 방법은 무엇입니까?
10. 문자열에서 문자의 발생 횟수를 계산하는 방법은 무엇입니까?
StringUtils을 사용하십시오.