Sadece basit bir soru, ancak neden bir kapsayıcıda olmayan bir dizide length
nedir? Programlamada yeni başlayanlar için bu sadece getLength()
yönteminin uygulanması kolay olacağını düşündüğüm için. diziler nesneler olarak yorumlanabilir rağmenDizilerde uzunluk
cevap
Bir varsayım var ama bunun, java tasarımcılarının böyle yapmasının sebebi olduğunu söyleyemem.
Bir dizi, sabit bir boyuta sahip bir kapsayıcıdır (tabii ki bir Object). Ve çok basit bir yanı, bu durumda kapsülleme güzel olurdu ama kritik değil. Örneğin bir dizinin kapsüllemesi olarak düşünülebilen ArrayList'e bir göz atın.
Temel bir dizinin, onu kapsülleyen diğer türlere göre birçok avantajı vardır. Ve belki de Java'nın ilk versiyonu ortaya çıktığında, bugün sahip olduğu optimizasyonun çoğunu yoktu. Yani bir dizinin sadeliği (performans açısından) ile bir veri yapısına sahip olmak iyi bir şeydir. Ayrıca
onlar onlar belki e-posta olabilir (bu konuda ilginç şeyler bulursanız, neyse bir geriye uyumluluk :)
korumak zorunda sonradan o zaman bunu düşünün ve yoktu kadar basit olabilir güneş/oracle) lütfen gönderin! Bu güzel bir soru.
, onlar başka bir nesne veya değişken içeren hafıza adreslerinin gerçekten sadece sabit bir takım. Bu şekilde, onlar gibi .length
, ama mutlaka yöntemler özelliklerine sahip diziler hakkında bilgi Bir çok burada bulabilirsiniz .getLength()
gibi: uygulamak kolay olurdu http://docs.oracle.com/javase/tutorial/java/nutsandbolts/arrays.html
'[kaynak belirtilmeli]' – delnan
Bu açıklama su tutmuyor. Aslında, diziler, örtük bir üst sınıf olarak "Object" e sahiptirler ve bu nedenle bir takım metotları vardır. Bu, Java tasarımcılarının * tüm diziler için bir 'length() yöntemi tanımlayabildiğini izler. (Bir uygulama programının yöntem ekleyememesi, burada geçerli değildir.) –
ve bu yüzden uygulanmadı.
Diziler, gerçek denetime sahip olmayan basit bir depolama bloklarıdır. Gelişmiş kontrollerin gerekli olmadığı durumlarda kolay ve hızlı bir depolama yöntemi sağlarlar.
Bunun gerekli olup olmadığını, büyüklüklerine kaydını tutabilir listeler, kuyruklar, bağlı listeler, çift bağlantılı listeler vb gibi şeyler kullanabilirsiniz. Açıkçası, kullandığınız dile bağlı olarak, bunları kendiniz oluşturmanız gerekebilir. Eğer dizinin uzunluğuna sahip ve hala basit dizi kullanmak istiyorsanız
, bir sayım değişkene Bir şeyi kaldırmak her zaman buna bir şey eklemek ve eksi bir her zaman 1 ekleyebilir. Bu, getLength() yöntemi ile aynı işlevi gerçekleştirecektir.
Ne? Uzunluk * * kaydedilir, sadece bir alıcı yöntemiyle değil, bir kamu üyesinden geçer. – delnan
- 1. Sayısal dizilerde değerleri birleştirmek
- 2. Uzunluk
- 3. Erlang neden büyük dizilerde çöküyor?
- 4. Nodesets Uzunluk
- 5. Sayı, 'uzunluk'
- 6. Dizilerde dizi özelliklerinin ayarlanmasının sakıncaları nelerdir?
- 7. Çok boyutlu dizilerde nokta, nokta ürünleri
- 8. iOS URL Düzeni Uzunluk
- 9. OData Url Uzunluk Sınırlamalar
- 10. PDO PARAM_STR ve uzunluk
- 11. Uzunluk ve filetype
- 12. Döngü programına uzunluk ekleme
- 13. eğer uzunluk x
- 14. Geçersiz uzunluk hatası acemi
- 15. Bilinmeyen uzunluk matrisi?
- 16. Git dilimleri - kapasite/uzunluk?
- 17. Davranış: uzunluk: freeWhenDone:
- 18. AS3 değişken uzunluk argümanı
- 19. ÇocukNotları, uzunluk hatası
- 20. Sabit Uzunluk SortedMap in Scala
- 21. FluentValidation nasıl Uzunluk kontrol etmek?
- 22. Sabit uzunluk ile ayırma dizgisi
- 23. içerik uzunluk üstbilgisinin üzerine yazılır!
- 24. onPreviewFrame yanlış byte döndürülüyor [] uzunluk
- 25. SteamID64 minimum ve maksimum uzunluk
- 26. Hangi uzunluk parolası 256bit entropy değerine eşittir
- 27. Bir metin alanına uzunluk sınırı ekleme
- 28. Gzip minimum uzunluk yönergesi neden dikkate alınmıyor?
- 29. Python'un değerlendirmesine neden bir uzunluk sınırı var?
- 30. Eşit uzunluk vektörlerinin bir listesini yapın
İlgili: http://stackoverflow.com/q/9297899/697449 –
Yeniden açmaya oy verin. IMO, bu bağlantılı sorunun bir kopyası DEĞİLDİR. Bu soru, Java tasarımcılarının ** 'length' alanını ** kapsamadığını gösteriyor. (Bağlantılı soru, dizilerin ve dizelerin API tutarlılığı ile ilgili ... önemli ölçüde farklı bir konu.) –
Ayrıca, bu (IMO) ve ** ilginç ** soru ve cevaplamaya değer. –