java – 我可以在单个泛型方法中添加整数和串联的字符串吗?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java – 我可以在单个泛型方法中添加整数和串联的字符串吗?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1176字,纯文字阅读大概需要2分钟。
内容图文
![java – 我可以在单个泛型方法中添加整数和串联的字符串吗?](/upload/InfoBanner/zyjiaocheng/796/784cbf51d6a34a4f8cdcb60ca10a7d00.jpg)
我正在学习Generics.我已经为练习编写了以下代码.在这段代码中,我创建了一个通用方法,用于根据方法调用提供的值添加两个数字和两个字符串的连接,它应该添加Integer或连接字符串.
class Kaushal28{
public <T> void add(T a, T b){
//System.out.println(a+b);
}
}
public class NewClass59 {
public static void main(String args[]){
Kaushal28 k = new Kaushal28();
k.add(5, 8);
k.add("5","8");
}
}
我不确定这是否可以用一种方法完成.如果没有,那么这个问题的解决方案是什么?我可以通过使用泛型类来实现这一点吗?
解决方法:
您不能将此作为通用方法,但您可以拥有通用的strategy:
interface Adder<T> { T add(T a, T b); }
然后将其专门用于String和Integer:
class StringAdder implements Adder<String> {
@Override public String add(String a, String b) {
return a + b;
}
}
class IntegerAdder implements Adder<Integer> {
@Override public Integer add(Integer a, Integer b) {
return a + b;
}
}
然后,您可以在“单一通用方法”中使用此方法,如下所示:
<T> void something(Adder<T> adder, T a, T b) {
System.out.println(adder.add(a, b));
}
something(new StringAdder(), "Hello", "World");
something(new IntegerAdder(), 1, 2);
或者,当然:
System.out.println(new StringAdder().add("Hello", "World"));
System.out.println(new IntegerAdder().add(1, 2));
内容总结
以上是互联网集市为您收集整理的java – 我可以在单个泛型方法中添加整数和串联的字符串吗?全部内容,希望文章能够帮你解决java – 我可以在单个泛型方法中添加整数和串联的字符串吗?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。