Przejdź do głównej zawartości

Generic Types in Java

Generic Types in Java -

Definition of Generic Class

public class CookieCutter<T> {
    private T glaze;
}

Def:

class Name<T1, T2, ..., Tn> {
    /* body */
}


Klasy generyczne pozwalają wykluczyć błędy wywołane użyciem nie poprawnego typu danych. Rozwiązanie jest aby sprecyzować konkretny typ naszego pola, w momencie zastosowania w kodzie

Przed:
public class Walizka { 
    private Object przedmiot;     public void set(Object przedmiot) { 
        this.przedmiot = przedmiot; } 
public Object get() { return przedmiot; } 
}

Po:
public class GenerycznaWalizka<T> {
    private T przedmiot;    public void set(T przedmiot) {
        this.przedmiot = przedmiot; }
public T get() { return przedmiot; }
}


Różnica - nawiasy trójkątne tzw diamenty <>

W powyższym przypadku <T> - może reprezentować wszystko co nie jest prymitywem

Klasa może przyjmować wiele parametrów

public class Mapa <K, V> {
private K klucz;
private V wartosc;
//..
}

Więcej:

#Niezbędnik Juniora. Generyki


Komentarze

Popularne posty z tego bloga

Skrócony zapis if - instrukcja warunkowa java

Instrukcja warunkowa - warunek i rezultat. if (warunek) { jesli spełniony wykonań operacje i zwróć wynik; } warunek nie spełniony Możliwości skrócenia kodu instrukcji warunkowej if (i < 0) ? i-- : i++; Jeżeli i mniejsze od zera to i-- jezeli false to i++ if (i < 0) {     i--; } else {     i++; } Skrócony zapis instrukcji warunkowej else if (i < 0) ? i--;  inna_zmienna=4; : i++; if (i < 0) {     i--; } else {     i++;     inna_zmienna = 4; } Skrócony zapis if

String-1 > endsLy

Given a string, return true if it ends in "ly". endsLy("oddly") → true endsLy("y") → false endsLy("oddy") → false public boolean endsLy ( String str ) { if ( str . length ()< 2 ){ return false ; } if (( str . substring ( str . length ()- 2 , str . length ())). equals ( "ly" )){ return true ; } return false ; }

String-1 > withouEnd2

Given a string, return a version without both the first and last char of the string. The string may be any length, including 0. withouEnd2("Hello") → "ell" withouEnd2("abc") → "b" withouEnd2("ab") → "" public String withouEnd2 ( String str ) { if ( str . length ()== 1 ){ return str . substring ( 1 ); } else if ( str . length ()== 0 ){ return str ; } return ( str . substring ( 1 , str . length ()- 1 )); }