string

String 클래스에서 String 객체의 값을 변경하는 것처럼 보이는 모든 메서드는 실제로는 String 값을 변경하는 것이 아니라, 새로운 String 인스턴스를 반환하는 것이다. String의 값은 절대 변하지 않으며 바꿀 수 없다. @Test public void stringChanges(){ final String greeting = "Good Morning, Corn"; final String substring = greeting.substring(0, 4); assertTrue(substring.equals("Good")); assertFalse(greeting.equals(substring)); assertTrue(greeting.equals("Good Morning, Corn")); } ..
String 객체를 표현하는 값은 char의 배열이다. public final class String implements java.io.Serializable, Comparable, CharSequence { @Stable private final byte[] value; .... } JVM과 컴파일러는 특정 상황에서 특별한 방법으로 String 객체를 처리한다. 참고) 2019/04/23 - [프로그래밍 노트/JAVA] - [JAVA] String 객체와 리터럴 (메모리관련) [JAVA] String 객체와 리터럴 (메모리관련) 항상 읽어도 이해하기 힘들 부분이었으나, 이번 기회에 확실히 이해하고 정리를 하게 되었다. Java에서 String을 생성하는 방식은 두가지가 있다. new 연산자를 이용하는 ..
항상 읽어도 이해하기 힘들 부분이었으나, 이번 기회에 확실히 이해하고 정리를 하게 되었다. Java에서 String을 생성하는 방식은 두가지가 있다. new 연산자를 이용하는 방법 (String str = new String("Hello")); 리터럴을 이용하는 방법 (String str = "Hello"); new 연산자를 통해서 생성하게 되면 String은 Heap영역에 존재하게 된다. 하지만 리터럴을 이용할 경우 string contstant pool이라는 영역에 존재하게 된다. (constoanl pool은 PermGen영역에 존재하게 된다.) 차이점을 살펴보자. @org.junit.Test public void testStringEquality(){ final String literal = "H..
깡냉쓰
'string' 태그의 글 목록