3 Pytanie: Lokalne wnioskowanie typu zmiennej

pytanie utworzone w Tue, Apr 9, 2019 12:00 AM

Uczę się języka Java od 4 tygodni. Używam Notepad ++ do pisania kodu i wiersza poleceń do kompilowania i uruchamiania plików Java. Zawsze, gdy używam var jako wnioskowania typu zmiennej lokalnej, zawsze otrzymuję następujący błąd w wierszu polecenia: Nie można znaleźć symbolu.

class VarDemo {
    public static void main(String args[]) {
        var avg = 10.0;
        System.out.println("Value of avg: " + avg);

 }
    
0
  1. Jakiej wersji Java używasz?
    2019-04-09 11: 17: 32Z
  2. Słowo kluczowe var zostało dodane w Javie 10. Jeśli uruchomisz "java -version", prawdopodobnie wyświetli wersję java poniżej 10, co spowoduje ten problem.
    2019-04-09 11: 18: 59Z
  3. Używam tej wersji: java wersja "1.8.0_121" Java (TM) SE Runtime Environment (kompilacja 1.8.0_121-b13) Java HotSpot (TM) 64-bit Serwer VM (kompilacja 25.121-b13, tryb mieszany)
    2019-04-09 11: 20: 18Z
3 odpowiedzi                              3                         

Upewnij się, że używasz najnowszej wersji Java.

Możesz zainstalować najnowszą długoterminową wersję wsparcia Java 11 z OpenJDK i odinstalować starszą wersję.

var został wprowadzony w Javie 10. Nie możesz go użyć, jeśli masz starszy JDK.

Jeśli chcesz trzymać się Java 8, nie możesz użyć wnioskowania typu zmiennej lokalnej, a będziesz musiał zmienić tę linię na:

double avg = 10.0;

    
1
2019-04-09 11: 22: 20Z

Tworzenie zmiennej z var isnt 'jest dostępne w Javie do wersji Java 10.

Powinieneś sprawdzić swoją wersję Java i jeśli masz niższą niż Java 10 deklarację zmiennej o innym typie, jak ten:

class VarDemo {
    public static void main(String args[]) {
        double avg = 10.0;
        System.out.println("Value of avg: " + avg);

 }

Więcej informacji na temat var w Javie 10: https: //developer.oracle.com/java/jdk-10-local-variable-type-inference

    
2
2019-04-09 11: 21: 43Z

Problem występuje w wersji Java, zamiast tego użyj double lub float.

    
0
2019-04-09 11: 36: 00Z
źródło umieszczone tutaj