gpt4 book ai didi

java - 无法对非静态方法进行静态引用

转载 作者:行者123 更新时间:2023-11-30 06:05:38 24 4
gpt4 key购买 nike

<分区>

我阅读了引用特定类型的任意对象的实例方法的教程。这是链接 https://docs.oracle.com/javase/tutorial/java/javaOO/methodreferences.html

所以我编写了自己的代码,但无法消除错误。Arrays.sort(arr, String::compareToIgnoreCase); 是一个合法的声明但 Consumer m2 =Myclass::doit; 给出错误。如何解决此错误? Reference to an instance method of an arbitrary object of a particular type 的概念是否适用于像 String 这样的 java 内置类?

这是我的代码

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.function.Consumer;

interface Myinter {
void doit(List<String> s);
}
public class Myclass implements Myinter {
public static void main(String[] args) {
List<String> obj = new ArrayList<String>();
obj.add("raj");
obj.add("gopal");
obj.add("bhallamudi");
String arr[] = new String[obj.size()];
arr = obj.toArray(arr);
Arrays.sort(arr, String::compareToIgnoreCase);
for (String s : arr)
System.out.println(s + " ");

Consumer<List<String>> m2 =Myclass::doit;
m2.accept(obj);
}
@Override
public void doit(List<String> s) {
System.out.println(s);

}
}

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com