Skip to content

1 Page

substring, StringBuffer, StringBuilder, +

  • substring
    Java7 이후부터 원본 문자열과 동일한 문자열을 참조하는 새로운 문자열 객체 생성 (메모리 관리 효율)
    • 원본 문자열의 일부분을 읽어야 할 때 유용
      String longString = "This is a long string.";
      String substring = longString.substring(0, 5); // "This"
      
  • Stringbuffer

    • 문자열을 동적으로 수정해야 할 때 유용
      StringBuffer buffer = new StringBuffer();
      buffer.append("Hello");
      buffer.append(" World");
      String result = buffer.toString(); // "Hello World"
      
  • StringBuilder

    • 문자열을 동적으로 수정하고 스레드 안전성이 필요하지 않을 때 유용
    • 스레드 안전성을 고려하지 않으므로 단일 스레드 환경에서 더 빠르게 동작
      StringBuilder builder = new StringBuilder();
      builder.append("Hello");
      builder.append(" World");
      String result = builder.toString(); // "Hello World"
      
  • +
    내부적으로 StringBuilder가 사용되어 문자열을 효율적으로 조합
    그러나 +연산자를 반복적으로 사용할 경우, +연산자가 각각의 조합마다 새로운 StringBuilder 인스터스를 생성하고 복사하는 오버헤드를 갖기 때문에 성능 문제가 발생할 수 있다
    따라서, 반복 호출해야하는 경우에는 StringBuffer 또는 StringBuilder가 더 효율적일 수 있다

Boolean

python에서는 일반적으로 숫자 0은 False, 다른 숫자들은 True로 간주된다

number = 5
boolean_value = bool(number)
print(boolean_value)  # True

하지만, Java에서는 숫자를 Boolean으로 변환할 때, 명시적인 조건을 사용해야만 한다.

int number = 5;
boolean booleanValue = number != 0;
System.out.println(booleanValue); // true


  • 키보드 입력 데이터 저장
Scanner scanner = new Scanner(System.in);
String inputData = scanner.nextLine(); // enter 키를 누르면 입력된 문자열을 읽음

Quote

  • OpenAI