Çalışmıyor benim kodudur. İşte hatadır: -İşte
java.lang.String cannot be cast to [Ljava.lang.Object;
Çalışmıyor benim kodudur. İşte hatadır: -İşte
java.lang.String cannot be cast to [Ljava.lang.Object;
var,gibi görünüyor, List<Object[]>
değil List<String>
döndürür. Eğer bunun nedeni bildirilen istisna döngü giriyor gibi görünüyor Bana göre System.out.println(results ==null ? "empty", results.size());
gibi bir şey System.out.println(results);
değiştirerek döndürülen liste içinde sonuç olduğunu doğrulayabilir
List<String> results = query.getResultList();
System.out.println(results);
for (String result : results) {
System.out.println(result);
}
. Bunu aldım .. Seçerken (m.id'i seç) dize döndürür ve iki veya daha fazlasını seçerken (m.id, m.message'i seç), nesneyi döndürür. Teşekkürler .. –
Yöntemden bilgi için: sorgu yürütmesi, SQL sonucunun her satırında Object [] türüne (veya seçim listesinde yalnızca bir sütun varsa, Object türünün bir sonucu olarak) döndürülmesiyle sonuçlanır. – chrylis
yerine Do yanlış diziyi
yazdırıyorsanız:
for (Object[] result : results) {
for (Object obj : result) {
System.out.println(obj);
}
}
VEYA DAHA İYİ istisna sen dayanarak
for (Object[] result : results) {
Arrays.toString(result));
}
Hayır .. Zaten her biri için girmediğini söyledim .. –
için kodunuzu değiştirin java.lang.String cannot be cast to [Ljava.lang.Object;
ama Erna'nın yukarıdaki cevabında belirttiği gibi, geri dönen liste bir dizi Nesne yerine Dizelerin bir listesi olabilir.
(dize sonucu: results) { – SeeuD1
için lütfen deneyin. StringBuilder tarafından on yıldan fazla bir süre önce değiştirildiği için lütfen StringBuffer'ı kullanmayın. –