<T>如何在这里处理String和Integer - java

我不明白T如何使用Integer和String。如此处显示功能中所示,T同时处理整数和字符串。该代码如何工作?

class firstBase {
   <T> void display(T give_num, T give_String) {
        System.out.println("The given number is = " 
                           + give_num + " The given String is  =  " + give_String);

        System.out.println("The class of given number is = " 
                           + give_num.getClass() + 
                           " The class of given_String is = "+give_String.getClass());
    }
 }


public class testanonymous {
    public static void main(String[] args) {
        firstBase fb = new firstBase();
        fb.display(100, "xyz");
    }
}

参考方案

您正在调用该方法的原始形式,该形式基本上等于

void display(Object give_num, Object give_String)

在这里,您提供的两个参数都合适,因为100自动装箱到Integer(这是Object的子类),而“xyz”是String(这是Object的子类)

要正确使用泛型,您必须执行以下操作:

fb.<String>display(100, "xyz");

要么

fb.<Integer>display(100, "xyz");

在这两种情况下,您都会注意到代码不会编译,因为编译器会在运行时意识到您打算用T / Integer替换String的意图,但是参数类型不是所提供的相同类型。

Java中的<<或>>>是什么意思? - java

This question already has answers here: Closed 7 years ago. Possible Duplicate: What does >> and >>> mean in Java?我在一些Java代码中遇到了一些陌生的符号,尽管代码可以正确编译和运行,但对于括号在此代码中的作用却感…

菱形运算符<>是否等于<?> - java

我在util.TreeSet类中发现,其中一个构造函数正在使用具有空泛型类型的新TreeMap调用另一个构造函数。 public TreeSet(Comparator<? super E> comparator) { this(new TreeMap<>(comparator)); } new TreeMap<>是什么意思…

Java Applet的URLConnection与PHP无效 - java

我已经研究了Oracle文档和示例,但仍然无法正常工作。我有一个Java Applet,它只是尝试使用URLConnection和OutputStreamWriter通过POST将文本字段发送到PHP脚本。 Java方面似乎工作正常,没有引发异常,但是PHP在我的页面上未显示任何输出。我是PHP新手,因此请耐心等待。这是相关的Java部分: try { UR…

休眠映射<键,设置<值>> - java

我有以下表格:@Entity @Table(name = "events") Event --id --name @Entity @Table(name = "state") State --id --name @Entity @Table(name = "action") Action --id …

页面加载而不是提交时发生struts验证 - java

请原谅我;我对Struts有点陌生。我遇到一个问题,即页面加载而不是我实际提交表单时发生了验证。我整天都在论坛上搜寻和搜寻,没有任何运气。我显然做错了一些事情,应该很容易确定,但是我还没有发现问题所在。这是我的struts.xml的片段:<action name="*Test" method="{1}" clas…