Yazan : Şadi Evren ŞEKER
Otokutulama kavramı JAVA 5 ile gelmiş bir özelliktir. Bu özelliğin çıkış noktası JAVA içerisinde hem ilkel veri tiplerinin (primitive data types) bulunması hem de bu veri tipleri için sargı sınıflarının (wrapper classes) bulunması ve bu iki veri biçimi arasında geçişin sorun oluşturmasıdır. Bu konuyu daha iyi anlamak için aşağıdaki iki farklı örneği inceleyebiliriz:
Otokutulamalı | Otokutulamasız |
---|---|
int i; Integer j; i = 1; j = 2; i = j; j = i; |
int i; Integer j; i = 1; j = new Integer(2); i = j.intValue(); j = new Integer(i); |
Yukarıda iki farklı java kodu verilmiştir. Sol tarafta otokutulama özelliği kullanılırken, sağ tarafta bu özellik olmadan önce problemin nasıl çözüldüğü gösterilmiştir.
Unutulmaması gereken bazı noktalar:
- ilkel veri tipleri (primitive data types), ilgili sargı sınıflarına (wrapper classes) göre çok daha hızlıdır.
- sargı sınıflarının oluşturulduktan sonra değiştirilmesi mümkün değildir (immutable) ve bu sorun oluşturmaktadır.
- Sınıflar arası eşitlik kontrolü sırasında == operatörü ile ilgili sorunlar yaşanabilir. (nesne göstericisi (object referrer) ile objenin kendisi arasında fark olması durumu