Heim >Java >Nichtübereinstimmung des Java-Typs: Konvertierung von long nach int nicht möglich

Nichtübereinstimmung des Java-Typs: Konvertierung von long nach int nicht möglich

WBOY
WBOYnach vorne
2024-02-09 15:30:33550Durchsuche

Bei der Java-Programmierung sind Typkonfliktfehler ein häufiges Problem. Wenn wir versuchen, einen Long-Wert in einen Int-Wert umzuwandeln, erhalten wir die Fehlermeldung „Java-Typ-Konflikt: Konvertierung von Long in Int nicht möglich“. Diese Fehlermeldung bedeutet, dass wir versuchen, einen Datentyp mit einem größeren Bereich in einen Datentyp mit einem kleineren Bereich zu konvertieren, wodurch das Risiko eines Datenverlusts oder -überlaufs besteht. In diesem Artikel analysiert der PHP-Editor Xinyi für Sie die Ursache dieses Fehlers und stellt Lösungen zur Behebung bereit.

Frageninhalt

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;
}

Aus diesem Grund habe ich eine Typinkongruenz erhalten: Konvertierung von long nach int nicht möglich

Ich verstehe nicht, warum wir eine Typinkongruenz bekommen, weil i lang ist und a[] ebenfalls lang ist Warum kommt es also zu einer Nichtübereinstimmung des Typs „long“ mit „int“?

Problemumgehung

Verwenden Sie int statt long in der for-Schleife:

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

Array vom langen Typ kann nicht indiziert werden: https://www.php.cn/link/6dfa678a0fa26a0b36addfbc8fdc23e1

Das obige ist der detaillierte Inhalt vonNichtübereinstimmung des Java-Typs: Konvertierung von long nach int nicht möglich. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:stackoverflow.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen