sabit bir şekilde kullanılmasını val engeller?ekleme açık tip repl itibaren ek açıklaması
cevap
Türü olmadan, final val
bir değişmez sabit gibi davranır - tanımlayıcı derleme zamanında değerine göre değiştirilir. Türü ile ek açıklamalarda kullanılamayacak bir yerde saklanan bir şeyin referansı olur.
Bu tarifnamenin bölüm 4.1 tanımlanır:
sabit bir değer tanımı e sabit bir ekspresyon (§6.24) olduğu şeklinde
final val x = e
taşımaktadır. Son değiştirici mevcut olmalıdır ve herhangi bir tip açıklama verilemez. sabit değeri x'e yapılan referanslar, sabit ifadeler olarak ele alınır; 'da oluşturulan kod, tanımın sağ taraftaki tarafına göre değiştirilir.
Scala'da gerçek adlandırılmış sabitleri alabilmenin tek yolu budur. Performans avantajları vardır, gerçekten mutasyona uğratılmamaları garantidir (bir türle birlikte final val
yansıması ile değiştirilebilir) ve elbette ek açıklamalarda kullanılabilirler.
Neler olduğunu tahmin ettim, ama neden böyle çalışıyor? Bu şekilde yapmanın bazı yararları var mı? Bunun kullanışlı bir özellik olduğu bir durum var mı? – scalapeno
@ tritium6 Cevabımı genişletdim, ancak ek açıklamalarda kullanışsız bir durum mu kullanmıyor? –
Genişletme için teşekkürler. Haklısın, açıklama notu yararlıdır. Demek istediğim, yazılan ifade için yararlı bir durum mu var? Niçin son bir referansın olduğu bir davaya sahip olmak istersiniz? – scalapeno
- 1. @code java ek açıklaması,
- 2. Kapalı tip açık tip
- 3. ek açıklaması görünmez mi?
- 4. @CrossOrigin ek açıklaması, IntelliJ
- 5. Scala istisnası, tip ek açıklama ile anlaşılırken
- 6. JPA: yabancı anahtar ek açıklaması
- 7. Can @ grubu ek açıklaması phpunit
- 8. @GuardedBy ek açıklaması ile java.util.concurrent.locks.ReadWriteLock
- 9. Üst_yazılar ile ggplot2 ek açıklaması
- 10. Ek ürün açıklaması tab magento
- 11. MKMapView'te Harita ek açıklaması nasıl eklenir?
- 12. java - Spring @Value ek açıklaması döndürür
- 13. Kotlin'de Jackson JsonSubTypes ek açıklaması nasıl kullanılır?
- 14. Dropwizard'a ek metrikler ekleme
- 15. Scala - ImplicitNotFound ek açıklaması yöntem düzeyinde uygulanabilir mi?
- 16. DB2/400 dosyasına bir alan açıklaması ekleme
- 17. Eclipse'de "Açık Tip"/"Açık Kaynak" arasındaki fark nedir?
- 18. program açıklamalarına ek açıklamalar ekleme
- 19. Func'in açıklaması
- 20. Yönetilen Bean'in tamamı @ManagedProperty ek açıklaması aracılığıyla nasıl enjekte edilir?
- 21. XJC ve özelleştirilmiş ciltleme ile XMLElementWrapper ek açıklaması nasıl oluşturulur?
- 22. İlkbahar 3'te @CrossOrigin ek açıklaması nasıl yapılır?
- 23. @Index ek açıklaması JPA 2.1'de nasıl çalışır?
- 24. CDI @ Produces ek açıklaması için Spring eşdeğeri hangisidir?
- 25. ClojureScript REPL içinde gereksinme sözdizimi REPL
- 26. node.js REPL
- 27. Düğüm repl?
- 28. Ek Açıklamalara dayanarak Spring JDBC desteğini ekleme
- 29. Varolan bir belgeye ek özellikler ekleme elasticsearch
- 30. JUnit Test Örneğine ek testler ekleme
Neden "final" anahtar sözcüğünü kullanıyorsunuz? Daniel'in aşağıda bahsettiği değişmez sabiti yaratmak için – paradigmatic
finali gereklidir. Bu olmadan, yukarıda belirtilen aynı hatayı alacaksınız. – scalapeno