Compilingchức năng tham chiếu đến Object.clone() không biên dịch
import java.util.concurrent.Callable;
class Ideone
{
Callable<?> x = super::clone;
}
sử dụng Oracle JDK cho:
Main.java:6: error: incompatible types: invalid method reference
Callable<?> x = super::clone;
^
clone() has protected access in Object
mà làm cho không có ý nghĩa như một lớp học sẽ có thể truy cập vào cha mẹ của mình được bảo vệ phương pháp. Biểu thức này hoạt động tốt trong trình biên dịch của Eclipse.
Đồng thời, () -> super.clone()
biên soạn tiền phạt ....
Đây có phải là lỗi không?
Có 'tác vụ này :: clone' hoạt động không? – thecoop
Tôi có thể tạo lại điều này với JDK 1.8.0_51 và Eclipse Mars 4.5.0. Có vẻ như một lỗi Eclipse. – Tunaki
Hoạt động tốt JDK 1.8.0_60 và Eclipse Mars – Flown