ở đồng bằng Java, tôi có thể viếtcách ghi chú kiểu đối số cho phương pháp tĩnh đa hình chung trong jshell?
class P {
static <A> A id (A x) { return x; }
static int y = P.<Integer>id(8);
static String bar = P.<String>id("foo");
}
trong jshell, tôi có thể tuyên bố và sử dụng id
jshell> <A> A id (A x) { return x; }
| created method id(A)
jshell> int x = id(8)
x ==> 8
jshell> String y = id("foo")
y ==> "foo"
nhưng tôi không thấy làm thế nào để đưa ra lập luận kiểu tường minh.
jshell> String y = <String>id("foo")
| Error:
| illegal start of expression
| String y = <String>id("foo");
| ^
Tên của lớp ngữ cảnh ngụ ý là gì?
Đặc điểm jshell (một phần của)) sẽ cho phép tôi trả lời câu hỏi này ở đâu? http://openjdk.java.net/jeps/222 chỉ đề cập đến "lớp tổng hợp" trong "gói". Không có vẻ như nó có thể được đặt tên.
Sử dụng 'Chuỗi y = P. id (" foo ")'. Kết quả là gì? –
thử mã của tôi trong jshell, không sử dụng bất kỳ lớp nào P. – d8d0d65b3f7cf42
Tôi hiểu. Bạn có thể khai báo các phương thức trực tiếp trong JShell. Phải có một lớp tiềm ẩn. –