最近在项目部分服务中看到泛型接口的大量使用,对于我来说有泛型接口有以下好处:
以我们系统部分代码为例,定义接口:
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虽然繁琐,但是对于大型项目还是非常友好的,各种约束是为了更容易维护。
java一个类可以有多个构造方法,根据传参类型和个数来匹配执行哪个构造方法。public class Member { public Member(){  ...
(1).final 修饰符通常和 static 修饰符一起使用来创建类常量。(2).父类中的 final 方法可以被子类继承,但是不能被子类重写,声明 final 方法的主要目的是防止该方法的内容被修改。public class Member {  ...
Java5 引入了一种主要用于数组的增强型 for 循环,类似js中的for inpublic class Member { public static void main(String[]&...
java stringBuffer(1).stringBuffer和stringBuilder区别stringBuffer是线程安全的,stringBuilder速度更快(2).简单的stringBuffer例子StringBuffer sBuffer = new&nb...
(1).java睡眠函数Thread.sleep(时间); //单位为毫秒(2).java睡眠函数例子Date dNow = new Date(); SimpleDateFormat ft = new&nbs...
System.out.println("当前时间戳(秒): " + System.currentTimeMillis()/1000); System.out.println("当前时间戳(毫秒): " +&nb...