Soru - "TypeSafe enum" - kendi tipimin degil tanimli tiplerin..

0 views
Skip to first unread message

Fuat Geleri

unread,
May 20, 2003, 5:32:50 PM5/20/03
to Java...@googlegroups.com
Iyi gunler,

Java'da "enum" ozelligini inceliyordum. Cok asiri bir inceleme yapamadim
(google'da biraz aradim, bi kac yaziya baktim, java.sun.com'da neler
yeni kismina baktim)
ama genelde gordugum tanimladigimiz class'in tipinde siralamalar
yapabildigimiz.
Eger kart tipimiz varsa , bu sinifin icinde as, papaz gibi bir siralama
yapabildigimiz.

Fakat benim aradigim (ornekten yola cikarak) as, papaz gibi isimleri vermek
ama onlari tanimlamamak. Yani siralama/enumeration isimleri tutsun ama
onlari
sayi/int olarak tutsun. Sinifin icerisine de bir
Types getType(){ return Types.AS;}
tanimlayim boylece direk tipini de ogrenmis olayim.

Boyle kullanmazsam final int.. = 0; kullanmam gerekecek.

interface MyInterface{
enum<Integer> Types{i,j,k}
Types getType();
}

gibi bir kullanim var mi?
//guzel bir hile de olabilir ;)

Tesekkurler,
fuat.

Tuncay Baskan

unread,
Jan 27, 2006, 7:33:09 AM1/27/06
to Java...@googlegroups.com
> Fakat benim aradigim (ornekten yola cikarak) as, papaz gibi isimleri vermek
> ama onlari tanimlamamak. Yani siralama/enumeration isimleri tutsun ama
> onlari
> sayi/int olarak tutsun. Sinifin icerisine de bir
> Types getType(){ return Types.AS;}
> tanimlayim boylece direk tipini de ogrenmis olayim.
>
> Boyle kullanmazsam final int.. = 0; kullanmam gerekecek.
>
> interface MyInterface{
> enum<Integer> Types{i,j,k}
> Types getType();
> }
>
> gibi bir kullanim var mi?
> //guzel bir hile de olabilir ;)

Sanırım ben soruyu tam olarak anlamadım. Biraz daha açabilir misin ihtiyacını?

--
/tb.

Fuat Geleri

unread,
May 27, 2003, 4:10:48 PM5/27/03
to Java...@googlegroups.com
T.B.>Sanırım ben soruyu tam olarak anlamadım. Biraz daha açabilir misin
ihtiyacını?

Bir kez daha göz gezdirince yapılanın daha mantıklı olduğuna karar verdim.
Ben

public static final int AS = 0;
public static final int PAPAZ = 1;
public static final int MACA = 2;

yerine kullanabileceğim bir enum arıyordum. C'deki gibi

enum {AS=0, PAPAZ, MACA};

yazamadığım garibime gitti. Fakat yazabildiğimi anladım.

public class Card{
public enum Types { AS, PAPAZ, MACA}

public Types type;
public Card(Types type){//örnek biraz saçma olabilir :S
this.type = type;
}
public Type type(){
return type;
}
}

Ben burada AS, PAPAZ, MACA nın bir Card olduğunu düşünmüştüm. Fakat onlar
sıradan bir int gibi değerlendirilebiliyormuş :) Kafamı karıştıran şu oldu

public enum Card{
AS, PAPAZ, MACA;
public Card(){
}
}
Burada AS, PAPAZ, MACA birer Card..

Su an daha iyi anladim, tesekkurler..

http://java.sun.com/j2se/1.5.0/docs/guide/language/enums.html

,fuat.
PS : Yine yanlis anlamadim umarim :D

Reply all
Reply to author
Forward
0 new messages