最近在项目部分服务中看到泛型接口的大量使用,对于我来说有泛型接口有以下好处:
以我们系统部分代码为例,定义接口:
public interface IX2MqToThirdBaseBiz<S, T> {
void sendMessage(S message);
T receiveMessage();
}然后,在实现该接口的类中,你可以指定具体的类型来替代类型参数。例如:
public class MyX2MqToThirdBaseBiz implements IX2MqToThirdBaseBiz<String, Integer> {
@Override
public void sendMessage(String message) {
// 实现发送消息的逻辑
}
@Override
public Integer receiveMessage() {
// 实现接收消息的逻辑
return 0;
}
}在上面的示例中,IX2MqToThirdBaseBiz<S, T>接口被实现为MyX2MqToThirdBaseBiz类,并且指定了S类型为String,T类型为Integer。这样,在实现类中的sendMessage方法就接受String类型的参数,而receiveMessage方法返回Integer类型的值。
泛型类的参数有很多应用场景,以下是一些常见的应用场景:
总之,泛型类的参数可以应用于需要支持多种数据类型的场景,从而使代码更加通用、健壮和可维护。所以Java虽然繁琐,但是对于大型项目还是非常友好的,各种约束是为了更容易维护。
public class test { public static void main(String[] args) { &...
(1).final 修饰符通常和 static 修饰符一起使用来创建类常量。(2).父类中的 final 方法可以被子类继承,但是不能被子类重写,声明 final 方法的主要目的是防止该方法的内容被修改。public class Member {  ...
在java中字符串属于对象,刚开始我就疑惑为什么int char等类型都是小写,结果String是大写,java太反人类,后来才知道String是对象。(1).java创建字符串String text = "net"; String tex...
(1).java获取当前日期时间Date date = new Date(); System.out.println(date.toString());输出Fri Jul 02 10:29:55 CST 2021(2).java获取时间戳秒/毫秒D...
(1).java睡眠函数Thread.sleep(时间); //单位为毫秒(2).java睡眠函数例子Date dNow = new Date(); SimpleDateFormat ft = new&nbs...
(4).java lookingAt匹配字符串和java matches匹配字符串lookingAt不要求整个字符串全匹配,例如me和me_you都是匹配的,但是lookingAt从第一个字符串开始匹配,匹配失败了也不会继续匹配,意味着me和you_me是无法匹配的matches匹配字符串要求全部匹...