Mam glupie pytanie i pewnie dla wiekszosci odpowiedz jest oczywista, ale ja nigdy nie kozystalem z typu short w Javie. Mianowicie mam taki problem, z gdy wywoluje funkcje typu nazwa_funkcji(short liczba);
w sposob nastepujacy: nazwa_funkcji(20); to otrzymuje komunikat ze to nie short tylko int.
Przy float wiem ze wystarczy dostawc f by kompilator widzial odpowiedni format liczby, ale by short szukalem w siecie (wiem bycmoze slabo) i nic na ten temat nie znalazlem. Prosze o szybka odp.
0
0
(short) 20
0
To wiem, ale myslalem ze jest tak jak przy float. Zamiast rzutowac float(3.45) to sie pisze 3.45f
0
Osbiście nie spotkałem się z czymś takim w Javie dlatego
śmiem przypuszczać, że taka możliwość nie istnieje.
public class NewMain {
public static void main(String[] args) {
short s1 = 10;
Short s2 = 10;
shortTest(s1);
shortTest(s2);
shortTest(new Short("10"));
shortTest((short)10);
shortTest2(10);
shortTest(Short.valueOf("10"));
shortTest3(Short.parseShort("10"));
//shortTest(10s); // czegoś takiego raczej nie ma w Javie
}
public static void shortTest(short s) {}
public static void shortTest3(Short s) {}
public static void shortTest2(int s) {
short dst = (short)s;
}
}
0
Ja też się nie spotkałem, a na dodatek poczytałem dokumentacje
An integer literal is of type long if it is suffixed with an ASCII letter L or l (ell); otherwise it is of type int (§4.2.1).
0
Na jedno wychodzi - w tym przypadku ;)
Znalazłem jeszcze coś takieg
http://mail.openjdk.java.net/pipermail/coin-dev/2009-March/000905.html
To wygląda jak świeża propozycja wprowadzenia w nowszych wersjach
10s 10S