Skip to content

Instantly share code, notes, and snippets.

@baybatu
Last active July 25, 2016 08:49
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save baybatu/ced904baafb7c28423f1f4c9e485875c to your computer and use it in GitHub Desktop.
Save baybatu/ced904baafb7c28423f1f4c9e485875c to your computer and use it in GitHub Desktop.
Java'da TreeMap'i serialize ederken alınan NotSerializableException ve çözümü

TreeMap, sıralamada kullanmak üzere bizden bir Comparator nesnesi ister ve bu Comparator nesnesini bir field üzerinde tutar. Eğer TreeMap nesnesine verilen bu Comparator nesnesi Serializable değilse serialization esnasında (cache'e yazma gibi) NotSerializableException alınır. Özellikle anonim sınıf üzerinden oluşturulan Comparator nesnelerine dikkat etmek gerekir.

Çözüm, Comparator sınıfını Serializable olarak işaretlemektir. Anonim olarak oluşturulan Comparator yerine top-level (ayrı sınıf) biçiminde Comparator oluşturup Serializable interface'i ile bu sınıfı Serializable olarak işaretleyebiliriz.

Kaynak: http://stackoverflow.com/questions/20978922/java-unable-to-serialize-a-objects-which-contain-treemaps-with-comparators

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment