Ποιες βοηθητικές λειτουργίες γνωρίζετε ή έχετε χρησιμοποιήσει στην εμπειρία σας;
sobes.tech AI
Απάντηση από AI
-
Λεκτικές εκφράσεις: Μειώνουν τον κώδικα για μικρές λειτουργίες χειρισμού, όπως κλικ ή callbacks.
-
Επεκτάσεις συναρτήσεων (Kotlin): Προσθέτουν νέες λειτουργίες σε υπάρχουσες κλάσεις χωρίς κληρονομιά, βελτιώνοντας την αναγνωσιμότητα και την ευκολία.
fun String.isPalindrome(): Boolean { // Ελέγχει αν η συμβολοσειρά είναι παλίνδρομο return this == this.reversed() } -
Εσωτερικές συναρτήσεις (Kotlin): Ενσωματώνουν το σώμα της συνάρτησης στη θέση της κλήσης, μειώνοντας το κόστος δημιουργίας αντικειμένων, ιδιαίτερα χρήσιμο με lambdas.
inline fun measureExecutionTime(block: () -> Unit) { // Μετράει τον χρόνο εκτέλεσης του μπλοκ κώδικα val startTime = System.currentTimeMillis() block() val endTime = System.currentTimeMillis() println("Χρόνος εκτέλεσης: ${endTime - startTime} ms") } -
Δεδομενικές κλάσεις (Kotlin): Δημιουργούν αυτόματα
equals(),hashCode(),toString(),copy(), χρήσιμες για αποθήκευση δεδομένων.data class User(val name: String, val age: Int) -
Κλειστές κλάσεις (Kotlin): Αντιπροσωπεύουν περιορισμένη ιεραρχία κλάσεων, χρήσιμες για μοντελοποίηση καταστάσεων ή γεγονότων, ειδικά σε συνδυασμό με
when. -
Γενικά (Generics): Επιτρέπουν τη δημιουργία επαναχρησιμοποιήσιμων συστατικών που λειτουργούν με διαφορετικούς τύπους δεδομένων.
public class Box<T> { // Γενική κλάση για αποθήκευση οποιουδήποτε τύπου δεδομένων private T data; public void setData(T data) { this.data = data; } public T getData() { return data; } } -
Ενέργειες με συλλογές (map, filter, reduce κ.ά.): Μεθόδους λειτουργικού προγραμματισμού για επεξεργασία συλλογών δεδομένων.
val numbers = listOf(1, 2, 3, 4, 5) val squaredEvenNumbers = numbers .filter { it % 2 == 0 } // Φιλτράρει τα ζυγά .map { it * it } // Τετραπλασιάζει -
Ανάκτηση πόρων (Kotlin): Για λήψη συμβολοσειρών, χρωμάτων, μεγεθών κ.ά. από πόρους.
val appName = context.getString(R.string.app_name) val primaryColor = ContextCompat.getColor(context, R.color.colorPrimary) -
Τύποι nullable και ασφαλείς κλήσεις (Kotlin): Μειώνουν τον αριθμό
NullPointerException.val name: String? = null val length = name?.length ?: 0 // Ασφαλής κλήση και τελεστής Elvis