पर विचार करें निम्नलिखित जावा वर्ग:लैम्ब्डा भाव
public class SomeClass {
public interface Something {
void doSomething();
}
public void call(Something something) {}
}
Kotlin में, मैं एक लैम्ब्डा अभिव्यक्ति के रूप में इस का उपयोग कर सकते हैं:
SomeClass().call {
// do something
}
लेकिन अगर मैं Kotlin में निम्न विधि को परिभाषित (का उपयोग करते हुए एक ही इंटरफ़ेस):
fun call(something: Something) {}
फिर इस कॉल:
call {
// do something
}
एक प्रकार की मेलबैक त्रुटि उत्पन्न करेगा। क्यूं कर?
यह निर्णय मेरे लिए अजीब लग रहा है। 'सूची <(T) -> यूनिट>' बनाम 'सूची> 'पर विचार करें। दूसरे में अधिक जानकारी है। सौभाग्य से एक कामकाज है: हम कोटलिन परियोजनाओं में जावा कोड का स्वतंत्र रूप से उपयोग कर सकते हैं। –
Yaroslav
हालांकि कि वैकल्पिक हल :( – Yaroslav
नाम समारोह प्रकार एक अलग कहानी है। और वे Kotlin –