Typ podstawowy short

0

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

(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

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