求助:generics的toString() method编译正常但TestPair运行无输出
解决泛型Pair无输出的问题
嘿,作为泛型新手遇到这种情况太正常啦~ 你说代码能编译但运行TestPair类没输出,大概率是你没有在TestPair的主方法里触发打印逻辑,或者你的Pair类里的打印方法没正确实现。我给你写个完整的可运行示例,你对比看看哪里没做到位:
第一步:正确实现泛型Pair类
public class Pair<T, U> { private T first; private U second; // 构造方法初始化一对数据 public Pair(T first, U second) { this.first = first; this.second = second; } // 核心:实现打印一对数据的方法 public void printPair() { System.out.println("第一个元素:" + first); System.out.println("第二个元素:" + second); System.out.println("-------------------"); } }
第二步:编写TestPair测试类
public class TestPair { public static void main(String[] args) { // 实例化Integer类型的Pair并打印 Pair<Integer, Integer> intPair = new Pair<>(123, 456); intPair.printPair(); // 实例化String类型的Pair并打印 Pair<String, String> strPair = new Pair<>("泛型新手", "加油!"); strPair.printPair(); } }
你之前没输出的常见原因
- TestPair的
main方法里只实例化了Pair对象,但没调用打印方法(比如上面的printPair()) - Pair类里根本没写输出数据的逻辑,或者输出代码被注释掉了
- 不小心把打印逻辑放到了非主方法的其他地方,程序运行时没执行到
把自己的代码和上面的示例对比下,应该就能快速定位问题啦~
内容的提问来源于stack exchange,提问作者user3274
相关产品推荐
相关产品推荐

