Rumah  >  Soal Jawab  >  teks badan

java - 怎么判断map key对应的值是不是空的

System.out.println("a**"+map.get(a).getClass());
System.out.println("a**"+map.get(a));

-------------分割线------------
a**class java.util.ArrayList
a**[]

以上是控制台打印出来的东西。

map.get(a).toString().equals("");一直是false
map.get(a)!=null;一直是true

ringa_leeringa_lee2763 hari yang lalu3005

membalas semua(4)saya akan balas

  • ringa_lee

    ringa_lee2017-04-18 09:09:32

    if(map.get(a)==null)Tidakkah anda tahu sama ada ia kosong?

    balas
    0
  • PHP中文网

    PHP中文网2017-04-18 09:09:32

    Di Java, tatasusunan null dan kosong bukanlah konsep yang sama. Jika anda ingin menentukan sama ada tatasusunan kosong, anda boleh menulisnya seperti ini.

    `
    jika (map.get(a) == null || map.get(a).size() == 0)
    `

    Jika ia adalah persekitaran pengeluaran, adalah disyorkan untuk menggunakan kelas alat, seperti apache common atau spring menyediakan CollectionUtils.isEmpty(map.get(a))

    balas
    0
  • 高洛峰

    高洛峰2017-04-18 09:09:32

    Jika ArrayList telah dibuat instantiated, ia pastinya tidak sama dengan null.
    Memandangkan kaedah toString boleh dilaksanakan tanpa melaporkan ralat, ia mesti telah dibuat seketika. Oleh kerana toString ialah kaedah Objek kelas induk peringkat atas, bagaimanakah objek tidak segera mempunyai kaedah ini.

    ArrayList list = new ArrayList();
    System.out.println(list == null);  // false
    
    ArrayList list1 = null;
    System.out.println(list1.toString()); // 空指针

    balas
    0
  • PHP中文网

    PHP中文网2017-04-18 09:09:32

    map.get(a).toString().equals(""); sentiasa palsu

    Hasil yang anda cetaka**[] boleh dilihat bahawa map.get(a).toString() bukan rentetan kosong, tetapi [], jadi "[]".equals("") sentiasa palsu

    map.get(a)! =null; sentiasa benar

    Jika map.get(a).toString() tidak membuang pengecualian penuding nol, maka map.get(a) mestilah bukan nol

    Hakim kosong

    Jika nilai yang sepadan dengan kunci sentiasa ArrayList, maka kaedah berikut boleh digunakan:

    map.get(a) == null || map.get(a).isEmpty()

    balas
    0
  • Batalbalas