java 泛型的使用



package com.example.hejingzhou.generaldemo;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        Gen<String> gen_1 = new Gen<String>("String");
        gen_1.showType();

        String str = gen_1.getParameters();
        Log.i("MainActivity",str);
        gen_1.setParameters("設置完畢");
        String str1 = gen_1.getParameters();
        Log.i("MainActivity", str1);

        Log.i("MainActivity", "----------------------------------------------------");

        Gen<Integer> gen_2 = new Gen<Integer>(8888);
        gen_2.showType();
        int integer = gen_2.getParameters();
        Log.i("MainActivity", "" + integer);
        gen_2.setParameters(9999);
        int int2 = gen_2.getParameters();
        Log.i("MainActivity", ""+int2);
    }
}

class Gen<T>{
    private T parameters;//定義泛型成員變量
    public Gen(T parameters){
        this.parameters = parameters;
    }
    public T getParameters(){
        return parameters;
    }
    public void setParameters(T parameters){
        this.parameters = parameters;
    }
    public void showType(){
        Log.i("MainActivity","T的實際類型是"+parameters.getClass());
    }
}


Log:

04-02 10:49:33.386 9219-9219/com.example.hejingzhou.generaldemo I/MainActivity: T的實際類型是class java.lang.String
04-02 10:49:33.386 9219-9219/com.example.hejingzhou.generaldemo I/MainActivity: String
04-02 10:49:33.386 9219-9219/com.example.hejingzhou.generaldemo I/MainActivity: 設置完畢
04-02 10:49:33.386 9219-9219/com.example.hejingzhou.generaldemo I/MainActivity: ----------------------------------------------------
04-02 10:49:33.386 9219-9219/com.example.hejingzhou.generaldemo I/MainActivity: T的實際類型是class java.lang.Integer
04-02 10:49:33.386 9219-9219/com.example.hejingzhou.generaldemo I/MainActivity: 8888
04-02 10:49:33.386 9219-9219/com.example.hejingzhou.generaldemo I/MainActivity: 9999


發佈了56 篇原創文章 · 獲贊 26 · 訪問量 12萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章