문자열은 변하지 않는 클래스입니다. 문자열을 사용하여 문자열을 수정하면 새 문자열 객체가 생성됩니다. 자주 수정되면 많은 문자열 객체가 생성되며 매우 비쌉니다. 따라서 Java는 StringBuffer 클래스를 제공하는데,이 클래스는 문자열 수정에서 문자열보다 훨씬 효율적입니다.
Java에는 캐릭터 작업을 담당하는 3 개의 클래스가 있습니다.
공개 클래스 idestringbuffer { / *** 일치하는 문자열 찾기* / public static void testfindstr () {StringBuffer sb = new StringBuffer (); sb.append ( "이것은 StringBuffer입니다"); // 하위 문자열이 문자열에서 먼저 나타나는 위치를 반환합니다. 존재하지 않으면 음수 System.out.println ( "sb.indexof (/"is/") =" + sb.indexof ( "is"))를 반환합니다. // indexof 메소드의 매개 변수를 설정하고 일치하는 시작 위치 시스템을 지정합니다. // 문자열에서 하위 문자열의 마지막 위치를 반환합니다. 존재하지 않으면 음수 System.out.println ( "sb.lastindexof (/"is/") =" + sb.lastindexof ( "is"))를 반환합니다. // LastIndexof 메소드에 대한 매개 변수를 설정하고 일치하는 엔드 위치 시스템을 지정하십시오. } / *** 문자열을 가로 채십시오* / public static void testSubstr () {StringBuffer sb = new StringBuffer (); sb.append ( "이것은 StringBuffer입니다"); // 기본 종료 위치는 문자열 시스템의 끝입니다 .out.out.print ( "sb.substring (4) =" + sb.substring (4)); // 서브 스트링 메소드는 인터셉트 시스템의 시작 위치와 종료 위치를 지정할 수있는 문자열을 가로 채 웁니다. } / ** * 문자열의 특정 위치에 문자를 가져옵니다 * / public static void testcharatstr () {StringBuffer sb = new StringBuffer ( "이것은 StringBuffer입니다"); System.out.println (sb.charat (sb.length () -1)); } / *** 문자열의 꼬리에 다양한 유형의 데이터를 추가* / public static void testappend () {StringBuffer sb = new StringBuffer ( "이것은 StringBuffer!"); sb.append (1.23f); System.out.println (sb.toString ()); } / *** 문자열에서 데이터 삭제* / public static void testDelete () {StringBuffer sb = new StringBuffer ( "이것은 StringBuffer!"); sb.delete (0, 5); sb.deletecharat (sb.length () -1); System.out.println (sb.toString ()); } / *** 다양한 유형의 데이터를 문자열에 삽입* / public static void testinsert () {StringBuffer sb = new StringBuffer ( "이것은 StringBuffer!"); // 지정된 위치에서 문자, 문자 배열, 문자열 및 다양한 숫자 및 부울 값을 삽입 할 수 있습니다 sb.insert (2, 'w'); sb.insert (3, new char [] { 'a', 'b', 'c'}); sb.insert (8, "ABC"); sb.insert (2, 3); sb.insert (3, 2.3f); sb.insert (6, 3.75d); sb.insert (5, 9843L); sb.insert (2, true); System.out.println ( "testinsert :" + sb.tostring ()); } / *** 문자열의 일부 문자를 교체* / public static void testreplace () {StringBuffer sb = new StringBuffer ( "이것은 StringBuffer!"); // 문자열의 특정 문자를 다른 문자열로 바꾸십시오 sb.replace (10, sb.length (), "Integer"); System.out.println ( "testreplace :" + sb.tostring ()); } / *** Reverse String* / public static void reversest () {StringBuffer sb = new StringBuffer ( "이것은 StringBuffer!"); System.out.println (sb.reverse ()); // 리버스 메소드 역전 문자열}} 요약:
StringBuffer는 변하지 않는 클래스가 아닙니다. 문자열의 내용을 수정할 때 새 개체가 생성되지 않습니다. 따라서 문자열 클래스보다 문자열을 수정하는 데 더 적합합니다.
StringBuffer 클래스는 문자열과 동일한 tocharray 메소드를 제공하지 않습니다.
StringBuffer 클래스의 교체 메소드는 문자열 클래스의 교체 메소드와 다릅니다. 대체 메소드에는 세 가지 매개 변수가 있습니다. 첫 번째 매개 변수는 대체 된 서브 스트링의 시작 위치를 지정하고, 두 번째 매개 변수는 대체 된 서브 스트링의 끝 위치를 지정하고, 세 번째 매개 변수는 새 서브 스트링을 지정합니다.
위의 내용은이 기사에 관한 모든 것입니다. 모든 사람의 학습에 도움이되기를 바랍니다.