webForumDet fria alternativet

oneliner if sats

8 svar · 288 visningar · startad av Viktor

ViktorMedlem sedan aug. 20021 710 inlägg
#1

Ok, försöker göra lite snygga if satser nu men det går inte så bra som jag tycker att det borde göra :)
min kod

boolean b=false;
45==15?b=true:b=false;

När jag kompilerar denna kod får jag

CheckAccessTag.java:44: unexpected type
required: variable
found   : value
45==15?b=true:b=false;
                     ^
1 error

Tool completed with exit code 1

Jag har provat att byta ut boolean mot int osv men jag får alltid samma fel så det måste vara något fundamentalt fel i uppbyggnaden :)

/Viktor

Marcus EMedlem sedan maj 20021 294 inlägg
#2

Du skriver fel. Så här ska det se ut:
b = 45 == 15 ? true : false;

ViktorMedlem sedan aug. 20021 710 inlägg
#3

Japp, då gick det bättre :) Tack!

/Viktor

LimeMedlem sedan sep. 2001837 inlägg
#4

Min fråga blir nu: VARFÖR?

Vilken är lättast att läsa:

if(45==15)
 b=true;
else
 b=false;

eller

b = 45 == 15 ? true:false;

För kompilerat så blir dom exakt samma kod...

Och för övrigt så räcker det med att skriva b = 45 == 15;

/Lime

Jörgen HPMedlem sedan feb. 20012 179 inlägg
#5

Jag håller med Lime, det där var varken snyggare eller tydligare. :)

ViktorMedlem sedan aug. 20021 710 inlägg
#6

När man, som jag hade, har många små if satser på rad så kan det bli lite för mycket om varje tar upp 4 rader. Tycker att det blir snyggare att köra med den korta versionen när det är så.

Fast C++ versionen än snyggare och lättare än Java :)

/Viktor

ChainsawMedlem sedan sep. 20001 282 inlägg
#7

Om du verkligen tycker att det tar upp för mycket plats, men ändå vill skriva läsbart...

if (45==15) b=true; else b=false;

Marcus EMedlem sedan maj 20021 294 inlägg
#8

Om jag fick välja mellan if-varianten och "b = 45 == 15" väljer jag den sistnämnda.

Är man van programmerare ser man ingen skillnad på dem.

LimeMedlem sedan sep. 2001837 inlägg
#9

Exakt och därmed kan vi också slå fast att "vadå dokumentera, det är ju bara att läsa koden" så hela konceptet med JavaDoc går bort.

Skicka ut bara koden till de klasser som ingår i Java API:et för alla kan ju lätt läsa sig till vad programmet gör.

Och så undrar man varför folk tycker programmerare är konstiga... ;-)

/Lime

Genererad på 384 ms · cache AV · v20260730165559-full.f96bc7eb