[JAVA]データ型(元、reference)


データ型


データの実質構造、概念
主に基本データ型と参照データ型に分けられます.

基本データ型(Primitive Type)

  • 非オブジェクトタイプ、Nullにはできません
  • 整数、実数、文字、論理文字などの実際のデータ値を格納するタイプ
  • 参照タイプ

  • 参考資料は基本的にjavaです.lang.Objectを継承します.
  • オブジェクト(オブジェクト)の番号(格納アドレス)は、メモリ番号値によりオブジェクトのタイプ
  • を参照する.
  • 文字列、配列、列挙、クラス、インタフェースなど
  • 2つのデータ型の違い

  • リファレンスタイプには、空の値を含めることができます.
  • 汎用機種可用性
  • 基本資料型アクセス速度が速い
  • 参考資料型は圧倒的にメモリ量が高い.
  • Wrapper Class


    基本データ型(primitive type)をオブジェクトとするクラスをパッケージクラス(wrapper class)と呼ぶ

    テッセレーション:基本タイプの値をオブジェクトとして作成するプロセス
    アンインストール:オブジェクトからデフォルトのタイプ値を取得するプロセス

    インプリメンテーションコード

    public class WrapperEx {
    	public static void main(String args[]) {
        	Integer number = new Integer(17); // 박싱
            int n = number.intValue(); // 언박싱
            System.out.println(n);
        }
    }
    // 자동 박싱과 자동 언박싱
    public class WrapperEx {
    	public static void main(String args[]) {
        	Integer number = 17; // 자동 박싱
            int n = number; // 자동 언박싱
            System.out.println(n);
        }
    }
    public class WrapperEx {
        public static void main(String[] args)  {
            String str = "10";
            String str2 = "10.5";
            String str3 = "true";
            
            byte b = Byte.parseByte(str);
            int i = Integer.parseInt(str);
            short s = Short.parseShort(str);
            long l = Long.parseLong(str);
            float f = Float.parseFloat(str2);
            double d = Double.parseDouble(str2);
            boolean bool = Boolean.parseBoolean(str3);
    		
            System.out.println("문자열 byte값 변환 : "+b);
            System.out.println("문자열 int값 변환 : "+i);
            System.out.println("문자열 short값 변환 : "+s);
            System.out.println("문자열 long값 변환 : "+l);
            System.out.println("문자열 float값 변환 : "+f);
            System.out.println("문자열 double값 변환 : "+d);
            System.out.println("문자열 boolean값 변환 : "+bool);
        }
    }
    パッケージオブジェクトは内部値を比較できません.
    public class WrapperEx {
    	public static void main(String[] args){
        	Integer number1 = 17;
            Integer number2 = 17;
            num1 = number1;
            num2 = number2;
            System.out.println(number1 == number2) // false
            System.out.println(num1 == num2) // True
            System.out.println(number1.equals(number2)) // True
            System.out.println(num1 == number2) // True
        }
    }
    パッケージ内のオブジェクトを比較すると、内部の値ではなく、オブジェクトの参照アドレスが比較されます.
  • オブジェクトを比較する場合、equals()
  • を使用します.
    オブジェクトを
  • のデフォルトの参照値と比較する場合、==、equals()が使用できます.
  • は、コンパイラが自動的にパッケージ化およびアンインストールされる理由です.참고 자료コード工場