xem xét mã Scala sau:Sử dụng Scala từ Java: đi qua các chức năng như thông số
package scala_java
object MyScala {
def setFunc(func: Int => String) {
func(10)
}
}
Bây giờ trong Java, tôi đã có thể thích sử dụng MyScala
như:
package scala_java;
public class MyJava {
public static void main(String [] args) {
MyScala.setFunc(myFunc); // This line gives an error
}
public static String myFunc(int someInt) {
return String.valueOf(someInt);
}
}
Tuy nhiên, thực hiện trên không hoạt động (như mong đợi vì Java không cho phép lập trình hàm). Cách giải quyết dễ nhất để chuyển một hàm trong Java là gì? Tôi muốn một giải pháp chung mà làm việc với các chức năng có số lượng tham số tùy ý.
CHỈNH SỬA: Java 8 có cú pháp nào tốt hơn các giải pháp cổ điển được thảo luận dưới đây không?
Hãy chắc chắn để kiểm tra bài viết và lớp 'FunUtils' của Daniel trong các ý kiến, giúp loại bỏ một số boilerplate cần thiết cho' $ tag' và 'compose'. –
Điều đó rất thông tin. Tôi đã từng xem bài viết trước nhưng không đọc nhận xét. – Jus12