java 泛型应用,通用返回类,泛型方法,泛型静态方法
泛型简介
这里不多说明,详见 java泛型入门
应用示例
以下皆用此通用返回类为示例进行说明
public class ResultBody<T> {
/**
* 响应代码
*/
private String code;
/**
* 响应消息
*/
private String message;
private T result;
//...getter setter toString 省略...
/**
* 成功
*
* @return
*/
public static ResultBody success() {
return success(null);
}
/**
* 成功
*
* @param data
* @return
*/
public static<T> ResultBody success(T data) {
ResultBody rb = new ResultBody();
rb.setCode(CommonEnum.SUCCESS.getResultCode());
rb.setMessage(CommonEnum.SUCCESS.getResultMsg());
rb.setResult(data);
return rb;
}
/**
* 失败
*/
public static ResultBody error(String code, String message) {
ResultBody rb = new ResultBody();
rb.setCode(code);
rb.setMessage(message);
rb.setResult(null);
return rb;
}
/**
* 失败
*/
public static ResultBody error(String message) {
ResultBody rb = new ResultBody();
rb.setCode("-1");
rb.setMessage(message);
rb.setResult(null);
return rb;
}
静态方法增加泛型参数
在方法名前增加static<T>
以表明该方法为静态泛型方法
public static<T> ResultBody success(T data) {
return null
}
调用静态公有方法
对于静态公有方法,调用方式为类名.方法名(参数...);
如:
ResultBody rb = new ResultBody();
rb = ResultBody.success("测试");
对比调用非静态公有方法(成员方法)
先创建调用类的对象再调用其方法,如调用toString()
ResultBody rb = new ResultBody();
String rbStr = rb.toString();
// 也可以写成
String rbStr = new ResultBody().toString();