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

在Java 8中,“特定类型的任意对象”是什么意思?

桂德义
2023-03-14
问题内容

在Java 8中,具有“方法参考”功能。一种是“引用特定类型的任意对象的实例方法”

http://docs.oracle.com/javase/tutorial/java/javaOO/methodreferences.html#type

有人可以解释在这种情况下“特定类型的任意对象”是什么意思吗?


问题答案:

它是对某种类型的实例方法的引用。在此示例中,compareToIgnoreCase是的方法String程序知道可以在的实例上调用此方法String,因此它可以获取引用和该类型的任何对象,并确保该方法存在。

我将其与Method类进行比较,因为它们引用了一个方法,并且可以在某种类型的任意实例上调用。

对于该示例,它可以使用两个String对象并调用compareToIgnoreCase一个,然后将另一个用作参数以匹配方法签名。这样,它就可以根据数组类型的任何方法对数组进行排序并对其进行排序,而不必要求比较器实例执行此操作。

以下是未单击问题中链接的任何人的示例:

String[] stringArray = { "Barbara", "James", "Mary", "John",
"Patricia", "Robert", "Michael", "Linda", "George" };
Arrays.sort(stringArray, String::compareToIgnoreCase);


 类似资料:
  • 在Java8中有“方法引用”特性。其中一种是“对特定类型的任意对象的实例方法的引用” http://docs.oracle.com/javase/tutorial/java/javao/methodreferences.html#类型

  • 在Java8中有“方法引用”特性。其中一种是“对特定类型的任意对象的实例方法的引用” http://docs.oracle.com/javase/tutorial/java/javaOO/methodreferences.html#type 有人能解释一下在这种情况下“特定类型的任意对象”是什么意思吗?

  • 我正在尝试对函数返回的值发出警报,并且在警报中得到以下信息: 下面是JavaScript代码: 是我试图检查的函数。

  • 问题内容: 任何人都可以确认我是否正确地在下面的方法调用中看到了该参数: 作为对象类型的数组?我不记得以前在Java中见过。 问题答案: 它等效于,但允许调用者一次只指定一个值作为参数,编译器将创建一个数组。所以这个电话: 相当于 有关更多信息,请参见varargs功能的文档(在Java 5中引入)。

  • oracleJava8留档定义了4种类型的方法引用,您可以使用它来代替Lambda表达式。我试图理解的是描述为:“引用特定类型的任意对象的实例方法”的那种方法引用,它被写为。 我不确定我是否错过了什么,但对我来说似乎更像是:“引用函数接口抽象方法的第一个参数,假设它是类型”。我试图提出这个“任意对象”是第二个参数的示例,但当然它不编译。 是否有官方参考编译器如何解析此对象?我的理解是否正确: 任意

  • oracle Java8文档定义了4种可以用来代替Lambda表达式的方法引用类型。我试图理解的是描述为“对特定类型的任意对象的实例方法的引用”的方法引用,它被写成。 任意对象必须是函数接口的抽象方法的第一个参数。 方法引用的签名必须与函数接口的抽象方法的签名相同,没有第一个参数。 因此,具有抽象方法的函数接口只能传递实例方法引用或。例如,我无法传递,其中它是类的实例,其签名为。 是否还有其他案例