String, StringBuffer 및 StringBuilder의 차이점에 대한 간략한 토론
Java 개발 인터뷰에서 String, StringBuider, StringBuffer의 차이점에 대해 자주 질문을 받습니다. 많은 사람들이 포괄적이고 깊이 있는 답변을 제공하지 않는데, 이들의 차이점은 무엇인가요?
세 가지 모두 문자열에 대한 작업에 사용되는 반면, StringBuilder StringBuffer는 일반적으로 문자열에 대한 작업에 사용됩니다. 접합과 같은 작업. 그러나 실제로 String은 문자열을 연결하는 데에도 사용할 수 있지만 왜 우리는 이를 거의 사용하지 않습니까? 세 가지의 기본 코드부터 시작하겠습니다.
String의 기본 코드는 final로 수정된 char 배열입니다. 즉, String 변수를 정의한 후에는 변수의 내용을 변경할 수 없습니다. #🎜🎜 ##### 🎜🎜 ## 🎜🎜 ## 🎜🎜 ## 🎜🎜 ## 🎜🎜 ## 🎜🎜 ## 🎜🎜 ## 🎜🎜#StringBuilder 및 StringBuffer AbstractStringBuilder, 이 클래스의 문자 배열 final로 수정되지 않았으며 내용이 가변적이라는 것은 무엇을 의미합니까?
예:
String s1= "a"; String s2 = new String("b") ; String s3 = s1+s2;그렇다면 문자열 "ab"를 얻습니다. String 하단에 불변 문자열이 없기 때문에 세 개의 객체가 생성됩니다. 모두 메모리를 점유하고 있으며 이 세 개체는 참조를 잃지 않았으므로 jvm을 가비지 수집할 수 없으므로 메모리 리소스가 크게 낭비됩니다. 이는 개발에서는 권장되지 않지만 StringBuilder 및 StringBuffer에는 이러한 문제가 없습니다. 기본 코드를 통해 확인할 수 있습니다. StringBuilder와 StringBuffer가 문자열을 이어붙일 때 문자열 길이가 데이터를 캡슐화하기 위한 새 배열을 생성하기에 충분한지 확인하는 반면, 원래 개체는 참조를 포기하고 가비지 수집을 기다리므로 따라서 스플라이싱을 할 때 문자열이나 다른 작업을 수행할 때 일반적으로 StringBuilder와 StringBuffer를 사용하는데 둘의 실행 효율성이 더 높은 이유는 무엇입니까?
javaIntroduction 칼럼에서 가져온 것입니다. 학습에 오신 것을 환영합니다!
위 내용은 String, StringBuffer 및 StringBuilder의 차이점에 대한 간략한 토론의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

에디트플러스 중국어 크랙 버전
작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음

SublimeText3 영어 버전
권장 사항: Win 버전, 코드 프롬프트 지원!

MinGW - Windows용 미니멀리스트 GNU
이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.
