当前位置: 首页 > 面试题库 >

是否可以在Java中引用嵌套的通用参数?

彭修筠
2023-03-14
问题内容

我不确定这是什么技术术语,但请考虑一个接口:

public interface SomeInterface<T> {
     public T doSomething();
}

然后是第二个界面:

public interface SomeRelatedInterface<T, D extends SomeInterface<T>> {
     public T doSomethingRelated(D relative);
}

是否可以将第二个接口设计为仅需要一个通用参数,然后使doSomethingRelated方法隐式提取其声明中的返回类型。这是不合法的,但这是我想知道是否可以通过其他方式完成:

public interface <T> SomeRelatedInterface<D extends SomeInterface<T>> {
     public T doSomethingRelated(D relative);
}

编辑(关于赏金发布):在这一点上,我正在寻找的是语言需要这种重复的原因。直到现在,答案一直都没有得到答案。


问题答案:
public interface SomeRelatedInterface<T> {  
    T doSomethingRelated(SomeInterface<T> relative);
}


 类似资料:
  • 问题内容: 使用时,我想通过引用传递参数。我该怎么做。例如 问题答案: 要使用进行引用传递,数组中的参数必须是引用-是否通过引用传递不依赖于函数定义。例如,这将起作用: 有关更多信息,请参见功能文档上的注释。

  • 问题内容: 代码示例: 是否可以创建名称为Bar的类的新实例?我尝试使用: 它找到该类,但是当我使用c.newInstance()时,它将引发InstantiationException。 问题答案: 您需要跳过几个步骤才能做到这一点。首先,您需要使用Class.getConstructor()查找要调用的对象: 返回一个构造函数对象,该对象反映此Class对象表示的类的指定公共构造函数。para

  • 问题内容: 我想要与的关键字类似的语义。 问题答案: Java令人困惑,因为一切都是通过值传递的。但是,对于引用类型的参数(即不是原始类型的参数),引用本身是通过值传递的,因此它似乎是按引用传递的(人们常常声称它是)。情况并非如此,如下所示: 将打印到控制台。如果要打印上面的代码,Goodbye可以使用如下所示的显式引用:

  • 问题内容: 我正在尝试在Spark中实现K最近邻算法。我想知道是否可以使用嵌套的RDD。这将使我的生活更加轻松。考虑以下代码片段。 目前,此嵌套设置出现错误(我可以在此处发布完整日志)。可以放拳头吗?谢谢 问题答案: 不,这是不可能的,因为RDD的项必须可序列化,而RDD不可序列化。这是有道理的,否则您可能会通过网络传输整个RDD,如果其中包含大量数据,这将是一个问题。如果它不包含很多数据,则可能

  • 问题内容: 我正在做一个小实验,尝试为嵌套div替换背景颜色。 这是我打算实现的(没有内联样式): 我觉得我一定缺少明显的东西!我尝试过,但这似乎仅适用于一个级别。 这是针对生成div的实验,因此解决方案需要是无止境的(不是沿着div div div div div = white的界线)。我知道使用JavaScript非常简单,只需 寻找纯CSS解决方案即可 。 问题答案: 正如Lister先生

  • 问题内容: 是否可以在String方法中使用默认参数。代码如下所示: 上面的代码生成错误。有可能纠正吗? 问题答案: 不,您通常这样做的方法是重载这样的方法: