最近在项目部分服务中看到泛型接口的大量使用,对于我来说有泛型接口有以下好处:
以我们系统部分代码为例,定义接口:
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) { &...
public class test { public static void main(String[] args) { &...
Java5 引入了一种主要用于数组的增强型 for 循环,类似js中的for inpublic class Member { public static void main(String[]&...
java判断字符是否是一个字母System.out.println(Character.isLetter('a'));java判断字符是否是一个数字System.out.println(Character.isDigit('0'));java判断字符是否是一个空白Sy...
java stringBuffer(1).stringBuffer和stringBuilder区别stringBuffer是线程安全的,stringBuilder速度更快(2).简单的stringBuffer例子StringBuffer sBuffer = new&nb...
System.out.println("当前时间戳(秒): " + System.currentTimeMillis()/1000); System.out.println("当前时间戳(毫秒): " +&nb...