java - 2个对象参数必须来自同一个类

标签 java

我想创建一个方法,其中必须传递 2 个或更多对象参数,并且必须来自同一个类。
对象 foo 和 bar 必须是同一类的成员。

public void method(Object foo, Object bar) {
}

我记得我以前见过这样的东西,但我不记得具体是怎么做到的。

public void method(Object<?> foo, Object<?> bar) {
}

最佳答案

我想你的意思是这样的:

public <T> void method(T foo, T bar) {
}

在这里,您定义了没有任何界限的通用类型 T,并且要求参数都是 T 类型(或子类)。然后你可以这样调用它:

method("string1", "string2"); //ok
method(Integer.valueOf(1), Long.valueOf(1) ); //works, Compiler will infer T = Number
this.<Integer>method(Integer.valueOf(1), Long.valueOf(1) ); //You set T = Integer, so the compiler will complain

关于java - 2个对象参数必须来自同一个类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36595397/

相关文章:

Java 快速排序二次运行时行为

java - Groovy 中的继承 - 基类表列出子类的条目

java - 不能同时使用 TOMCAT 服务器和我的互联网连接

java - Google 应用引擎的 gradle 单元测试在哪里期望 persistence.xml?

java - 如何在 postman 中显示异常消息?

java - 通过使用 java.util.Date 可能出现下溢错误

java - JNA 和结构体中的 boolean 数组

同步后Java并发修改异常

java - 注册EventProcessorHost时失败

java - Spring Data Elasticsearch 外部 ES 服务器