webForumDet fria alternativet

oneliner if sats

Java

8 svar · 288 visningar · startad av Viktor

Medlem sedan aug. 20021 752 inlägg
Frågan#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

Medlem sedan maj 20021 466 inlägg
#2

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

Medlem sedan aug. 20021 752 inlägg
#3

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

/Viktor

Medlem sedan sep. 2001961 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

Medlem sedan feb. 20012 412 inlägg
#5

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

Medlem sedan aug. 20021 752 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

Medlem sedan sep. 20001 124 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;

Medlem sedan maj 20021 466 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.

Medlem sedan sep. 2001961 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

271 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
127 ms — deklarationer (db)
0 ms — hämta statistik (cache)
142 ms — hämta tråd, inlägg och bilagor (db)
121 ms — ändringar (db)