[JAVA][クイックキャンパス]String,Wrapperクラス


Stringクラスの宣言


String str1=new String("abc");//インスタンスとして作成
String str 2=abc//定数プールを指す文字列
package string;

public class StringTest {
	public static void main(String[] args) {
		//new로 하면 힙메모리에 있는 문자열 선언
		String str1=new String("abc");
		String str2=new String("abc");
		
		//메모리의 위치가 다르므로 false
		System.out.println(str1 == str2);
		
		//상수풀에 있는 문자열 선언하게 되면 true
		String str3="abc";
		String str4="abc";
		System.out.println(str3 == str4);
	}
}

Stringは変わらない(変わらない)

  • 宣言または生成された文字列
  • は変更できません.
  • Stringクラスのconcat()メソッドまたは+を使用してStringを接続すると、新しい文字列が作成されます.
  • package string;
    
    public class StringTest2 {
    	
    	public static void main(String[] args) {
    		String java=new String("java");
    		String android=new String("android");
    		System.out.println(System.identityHashCode(java));
    		
    		//concat메서드는 java와 android객체의 문자열을 연결시키는 역할을한다.
    		//javaandroid 연결된 문자열은 메모리가 다름
    		java=java.concat(android);
    		
    		System.out.println(java);
    		//나뉘어진 문자열과 연결된 문자열은 메모리값이 다름
    		System.out.println(System.identityHashCode(java));
    	}
    }

    StringBuilderとStringBuffer

  • クラス
  • 、可変char[]配列をメンバー変数として持つ
  • 文字列の変更または接続に便利な
  • クラス
  • StringBufferはマルチスレッドプログラミング同期
  • をサポートする
  • 単一スレッドプログラミングでStringBuilderを使用した方が良い
  • toString()メソッドを使用してString
  • を返します.
    package string;
    
    public class StringBuilderTest {
    
    	public static void main(String[] args) {
    		String java=new String("java");
    		String android=new String("android");
    		
    		//java문자열을 기반으로 stringbuilder형성
    		StringBuilder buffer=new StringBuilder(java);
    		System.out.println(System.identityHashCode(buffer));
    		//buffer.append(android); 도 가능
    		//append로 java와 android연결
    		buffer.append("android");
    		System.out.println(System.identityHashCode(buffer));
    		//메모리값 동일
    		java=buffer.toString();
    	}
    }

    Wrapperクラス


    基本データ型のクラス