Typ osłonowy Long w Javie.

0

Witam. Napisałem sobie następujący program:

public class Glowna {
	
	static void wypisz(Object... args) {
		
		for(Object o : args) {
			System.out.print(o + " ");
		}
	}
	public static void main(String[] args) {

		wypisz((Object[]) new Long[] {10, 100, 150, 250});
	}

}
 

I mam następujący problem, mianowicie kompilator podkreśla mi liczby 10, 100, 150, 250 i pisze:

Type mismatch: cannot convert from int to Long.

Czemu tak się dzieje? Zupełnie tego nie rozumiem. Przykładowo dla typu Integer wszystko jest ok.

1

Bo literały 10, 100, 150 są typu int, których nie można bezpośrednio zboxować na Long. Dodaj do każdego literę L by wskazać, że chodzi ci o longi: 10L, 100L, 150L.

1 użytkowników online, w tym zalogowanych: 0, gości: 1