一、 @Deprecated 注解简单介绍
- 简单来讲就是,若某类或某方法加上该注解之后,表示此方法或类不再建议使用,调用时也会出现删除线,但并不代表不能用,只是说,不推荐使用,因为还有更好的方法可以调用。
- 或许有人会问为什么会出现加这个注解呢,直接在写方法的时候定义一个新的不就好了吗?
- 因为在一个项目中,工程比较大,代码比较多,而在后续开发过程中,可能之前的某个方法实现的并不是很合理,这个时候就要新加一个方法,而之前的方法文不能随便删除,因为可能在别的地方有调用它,所以加上这个注解,就方便以后开发人员的方法调用了。
二、@Deprecated 注解 官方介绍
注解 @Deprecated 可以标记 Java API 状态,可以是以下几种:
- 使用它存在风险,可能导致错误
- 可能在未来版本中不兼容
- 可能在未来版本中删除
- 一个更好和更高效的方案已经取代它。
而我在项目中遇到的 @Deprecated 注解,其实就是因为又写了个更好的方案,所以在原来的方法上加上了这个注解
三、代码举例
代码如下(示例):
@Override
@Deprecated
public void setResponse(CommonResponse response) {
//TODO:解析短信返回结果。
if (response != null) {
this.status = response.toString();
String resData = response.getData();
System.out.println("ResponseData:" + resData);
try {
JSONObject jsonObject = new JSONObject(resData);
this.requestId = jsonObject.getString("RequestId");
this.bizId = jsonObject.getString("BizId");
this.status = jsonObject.getString("Code");
this.responseMessage = jsonObject.getString("Message");
} catch (JSONException e) {
e.printStackTrace();
}
}
}
@Override
public void setResponse(com.aliyuncs.dysmsapi.xx.xx.SendSmsResponse response) {
if (response != null) {
this.status = response.getCode();
this.requestId = response.getRequestId();
this.bizId = response.getBizId();
this.status = response.getCode();
this.responseMessage = response.getMessage();
}
}
@Override
public void setResponse(SendSmsResponse res) {
// 输出 JSON 格式的字符串回包
if (res != null) {
try {
this.status = String.valueOf(res.getSendStatusSet()[0]);
JSONObject jsonObject = new JSONObject(SendSmsResponse.toJsonString(res));
this.requestId = jsonObject.getString("RequestId");
this.bizId = jsonObject.getString("SerialNo");
//this.status = jsonObject.getString("Code");
this.responseMessage = jsonObject.getString("Message");
} catch (JSONException e) {
e.printStackTrace();
}
}
System.out.println(SendSmsResponse.toJsonString(res));
// 可以取出单个值,您可以通过官网接口文档或跳转到 response 对象的定义处查看返回字段的定义
System.out.println("requestId:" + res.getRequestId());
System.out.println("status:" + res.getSendStatusSet()[0]);
}
@Override
public void setResponse(SendBatchSmsResponse sendSmsResponse) {
if (sendSmsResponse != null) {
this.status = sendSmsResponse.getCode();
this.requestId = sendSmsResponse.getRequestId();
this.bizId = sendSmsResponse.getBizId();
this.status = sendSmsResponse.getCode();
this.responseMessage = sendSmsResponse.getMessage();
}
}
总结
每天学习,每天开心;
学习一点点,开心一点点;
学习亿点点,开心亿点点 ~