exception on eclipseneden ben bir nesne
eklemek için benim PriorityQueue kullanamıyorum? Önceden ayarlanmış olan PriorityQueue
exception on eclipseneden ben bir nesne
eklemek için benim PriorityQueue kullanamıyorum? Önceden ayarlanmış olan PriorityQueue
A PriorityQueue
, ona eklediğiniz öğeleri sıralamasına rağmen, "en küçük", take()
numaralı telefonu aradığınızda her zaman ilk aldığınızdır.
Therefort, ön koşul, burada depoladığınız nesnelerin birbiriyle karşılaştırılabilmesidir, böylece sıra onları düzgün bir şekilde sıralayabilir. nesneler Comparable
PriorityQueue
kendisine bir Comparator
sağlayabilir
, 2 seçeneğiniz var.
sağladığınız Comparator
null
, yani PriorityQueue
nesneler Comparable
olmanın dayandığı için bir hatadır olsun sebebi - ve ben Gokhemon
sınıf değil sanırım. Dolayısıyla PriorityQueue
, öğelerini doğru bir şekilde sıralayamadığından şikayetçidir.
Referans: https://docs.oracle.com/javase/8/docs/api/java/util/PriorityQueue.html
öncelik sırası elemanları doğal düzene göre sıralı ya da yapıcı kullanıldığı bağlı olarak sıra yapı anda temin edilen bir karşılaştırıcı tarafından edilir. (...) karşılaştırılamayan nesnelerin sokulmasına izin vermez aynı zamanda doğal sipariş dayanan bir öncelik sırası görüntü
NullPointerException
PriorityQueue.add
yöntemi içinde atılır gösterir
(bu sayede ClassCastException neden olabilir). (Aslında iç içe bir çağrı için offer
...)
Sorun, sıra null
değil. NPE, eğer bu bir primer olsaydı, < < kodunuzda atılırdı. Sorun, sırayı bir null
karşılaştırıcısıyla başlatmış olmanız değil. Bu javadoc'a göre çalışmalı.
Asıl sorun, sıraya bir null
nesnesi eklediğiniz olmasıdır. Javadoc, eğer bunu yaparsan, bir NPE alacağını söylüyor.
Bundan daha fazlası için bize daha fazla vermeniz gerekecek. Ne denedin? – SubliemeSiem
Yığın Taşması'na Hoş Geldiniz. Lütfen hem kodu hem de hatayı kendisinin ekran görüntüsünden ziyade metin olarak, bir [mcve] biçiminde sağlayın. Bu noktada, size yardımcı olmak çok kolay olabilir. –
JavaDoc'tan: * "Bir öncelik sırası boş elemanlara izin vermiyor" *. İstisna, kesinlikle, bir yerde null teklif etmeyi denediğinizi söylüyor. –