Rumah  >  Artikel  >  java type mismatch: tidak boleh menukar dari long ke int

java type mismatch: tidak boleh menukar dari long ke int

WBOY
WBOYke hadapan
2024-02-09 15:30:33467semak imbas

Dalam pengaturcaraan Java, ralat tidak padan jenis adalah masalah biasa. Apabila kami cuba menukar nilai panjang kepada int, kami mendapat ralat "Java type mismatch: cannot convert from long to int". Mesej ralat ini bermakna kami cuba menukar jenis data dengan julat yang lebih besar kepada jenis data dengan julat yang lebih kecil, mengakibatkan risiko kehilangan atau limpahan data. Dalam artikel ini, editor PHP Xinyi akan menganalisis punca ralat ini untuk anda dan menyediakan penyelesaian untuk menyelesaikannya.

Isi soalan

long A[]=new long[1000];
   Scanner a=new Scanner(System.in);
   for(long I=0;I<A.length;I++)
   {
    A[I]=a.nextLong();//error
   }
   return true;
}

Inilah sebabnya saya mendapat jenis yang tidak sepadan: tidak boleh menukar dari panjang kepada int

Saya tidak faham mengapa kita mendapat jenis tidak sepadan kerana saya panjang dan [] juga panjang Jadi mengapa kita mendapat ketidakpadanan jenis panjang ke int.

Penyelesaian

Gunakan int dan bukannya long in untuk gelung:

long A[]=new long[1000];
    Scanner a=new Scanner(System.in);
    for(int I=0;I<A.length;I++)
    {
        A[I]=a.nextLong();//error
    }

Tidak dapat mengindeks tatasusunan jenis panjang: https://www.php.cn/link/6dfa678a0fa26a0b36addfbc8fdc23e1

Atas ialah kandungan terperinci java type mismatch: tidak boleh menukar dari long ke int. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:stackoverflow.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam