Java ile aşağıdakileri yapabiliriz
public class TempClass {
List<Integer> myList = null;
void doSomething() {
myList = new ArrayList<>();
myList.add(10);
myList.remove(10);
}
}
Ama eğer doğrudan aşağıdaki gibi Kotlin'e yeniden yazarsak
class TempClass {
var myList: List<Int>? = null
fun doSomething() {
myList = ArrayList<Int>()
myList!!.add(10)
myList!!.remove(10)
}
}
Listemden bulma add
ve remove
işlev görmeme hatasını aldım
ArrayList için döküm etrafında çalışıyorum, ancak Java döküm gerekli değil iken, döküm için garip. Ve bu soyut sınıf Listeye sahip olma amacını yener
class TempClass {
var myList: List<Int>? = null
fun doSomething() {
myList = ArrayList<Int>()
(myList!! as ArrayList).add(10)
(myList!! as ArrayList).remove(10)
}
}
List'i kullanmamın, ancak Java'da yapılabilecekler gibi yayınlamaya gerek duymamın bir yolu var mı?
myList = null
ve daha sonra çağrı ekleme olmadan bir yorum yapın!!
. Bunulateinit
, mülkünüzün önündeki anahtar kelimeyi şu şekilde kullanarak üstesinden gelebilirsiniz :lateinit var myList: List<Int>
bu şekilde listeyi hemen başlatmanız gerekmez, ancak listeyi ilk kez kullanmadan önce derleyiciye başlatacağınızı garanti edersiniz. Daha akıcı bir çözüm, ancak geliştirici olarak size bir sorumluluk yüklüyor.