黑马程序员技术交流社区

标题: 【石家庄校区】Java泛型简单的使用 [打印本页]

作者: battle001    时间: 2019-9-27 19:21
标题: 【石家庄校区】Java泛型简单的使用
前言最简单的泛型/** * className MyObject * description MyObject */public class MyObject<T> extends BaseData {    private T valueOne;    private T valueTwo;    public MyObject(T valueOne, T valueTwo) {        this.valueOne = valueOne;        this.valueTwo = valueTwo;    }    public T getValueOne() {        return valueOne;    }    public void setValueOne(T valueOne) {        this.valueOne = valueOne;    }    public T getValueTwo() {        return valueTwo;    }    public void setValueTwo(T valueTwo) {        this.valueTwo = valueTwo;    }    public static void main(String[] args) {        MyObject<String> object = new MyObject<>("String one!", "String two");        System.out.println("value one " + object.valueOne + " value two " + object.valueTwo);    }}用泛型做一个接口返回类/** * className ResponseMsg * description ResponseMsg */public class ResponseMsg<T extends BaseData> {    public static int SUCCESS_CODE = 1;    public static int ERROR_CODE = 0;    public static int OTHER_CODE = -1;    private int code;    private String msg;    private T data;    public static <U extends BaseData> ResponseMsg sendSuccess(U data) {        ResponseMsg<U> responseMsg = new ResponseMsg<>();        responseMsg.code = SUCCESS_CODE;        responseMsg.data = data;        responseMsg.msg = "Remote Call Success!";        return responseMsg;    }    public static <U extends BaseData> ResponseMsg sendError(U data, String msg) {        ResponseMsg<U> responseMsg = new ResponseMsg<>();        responseMsg.code = ERROR_CODE;        responseMsg.data = data;        responseMsg.msg = "Remote Call Error";        return responseMsg;    }    public static <U extends BaseData> ResponseMsg sendOther(U data, String msg) {        ResponseMsg<U> responseMsg = new ResponseMsg<>();        responseMsg.code = OTHER_CODE;        responseMsg.data = data;        responseMsg.msg = msg;        return responseMsg;    }    public static void main(String[] args) {        System.out.println(ResponseMsg.<MyObject>sendSuccess(new MyObject<String>("asdf","asfd")));    }    @Override    public String toString() {        return "ResponseMsg{" +                "code=" + code +                ", msg='" + msg + '\'' +                ", data=" + data +                '}';    }}注意





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2