# abgekürzte if schreibweise - fragezeichen.-



## DAUerndnervstdu (1. Apr 2008)

Hallo,

was heißt die abgekürzte if schreibweise in normal verständlich übersetzt:


```
int result = 1;

result = prime * result  + ((fieldOfStudy == null) ? 0 : fieldOfStudy.hashCode());
```


----------



## The_S (1. Apr 2008)

```
int var = 0;
if (fieldOfStudy != null) {
   var = fieldOfStudy.hashCode();
}
result = prime * result + var;
```


----------



## DAUerndnervstdu (1. Apr 2008)

Hobbit_Im_Blutrausch hat gesagt.:
			
		

> ```
> int var = 0;
> if (fieldOfStudy != null) {
> var = fieldOfStudy.hashCode();
> ...



sorry aber das ist ja mal bullshit ;-)

warum wird aus == null plötzlich != null? und var = 0 hat 0 wert, da "0 : fieldOfStudy.hashCode()" steht?


----------



## 0x7F800000 (1. Apr 2008)

DAUerndnervstdu hat gesagt.:
			
		

> sorry aber das ist ja mal bullshit ;-)


sorry, aber genauer hinguggen bringts 

HobbitImBlutrausch hat sowohl die bedingung verneint, als auch die eintretenden Fälle umgedreht.


----------



## Niki (1. Apr 2008)

wenn man keine Ahnung hat sollte man nicht in so einem Ton schreiben! Hobbits Code ist richtig, ob du es checkst oder nicht....


----------



## ARadauer (1. Apr 2008)

he junge! vergreif dich nicht im ton!

also 

wenn?dann:sonst

wenn fieldOfStudy == null
dann + 0
sonst + fieldOfStudy.hashCode()

also wenn wenn fieldOfStudy nicht null ist, dann rechnen wir den hashcode hinzu, sonst 0!

genau das was hobbit geschrieben hat


----------



## Guest (1. Apr 2008)

DAUerndnervstdu hat gesagt.:
			
		

> Hobbit_Im_Blutrausch hat gesagt.:
> 
> 
> 
> ...


Er fragt nach != ab, weil fieldOfStudy.hashCode() nach dem : steht
Ist fieldOfStudy == null behällt var seinen Wert (0)


----------



## ARadauer (1. Apr 2008)

nur so nebenbei, warum macht man sowas?

```
result = prime * result  + ((fieldOfStudy == null) ? 0 : fieldOfStudy.hashCode());
```
wenn fieldOfStudy null ist wird sonst eine nullpointer exception geworfen.


----------



## 0x7F800000 (1. Apr 2008)

boah, was für eine Lawine^^


----------



## DAUerndnervstdu (1. Apr 2008)

Andrey hat gesagt.:
			
		

> DAUerndnervstdu hat gesagt.:
> 
> 
> 
> ...



nah jungs ihr hab mich falsch verstanden... das mit bullshit meinte ich nicht Hobbit etc.... sondern ich ging davon aus das sein code natürlich richtig ist nur fand ich keine Logik dahinter ;-)


----------



## 0x7F800000 (1. Apr 2008)

öhm, wofür der code gut sein soll ist mir grad auch nicht wirklich klar  ???:L Was ist "fieldOfStudy" und was soll das programm im großen und ganzen machen?


----------



## lohr (1. Apr 2008)

ARadauer hat gesagt.:
			
		

> nur so nebenbei, warum macht man sowas?
> 
> ```
> result = prime * result  + ((fieldOfStudy == null) ? 0 : fieldOfStudy.hashCode());
> ...



Hm vielleicht haben sie noch keine Exceptions durchgenommen und sollten daher den Fehlerfall so umgehen, könnte doch sein? ^^


----------



## DAUerndnervstdu (1. Apr 2008)

Andrey hat gesagt.:
			
		

> öhm, wofür der code gut sein soll ist mir grad auch nicht wirklich klar  ???:L Was ist "fieldOfStudy" und was soll das programm im großen und ganzen machen?



darum gehts doch gar net... mir gings nur um die syntax...danke jungs


----------



## maki (1. Apr 2008)

Das sieht aus wie eine hashcode() Methode.


----------



## Reality (1. Apr 2008)

```
int var = 0;
if (fieldOfStudy != null) {
   var = fieldOfStudy.hashCode();
}
result = prime * result + var;
```

Zur Veranschaulichung wäre folgender Code meiner Ansicht nach besser:


```
int result = 1;
result = prime * result

if (fieldOfStudy == null) {
   result += 0
}

else{
 result += fieldOfStudy.hashCode();
}
```

Das müsste sich kürzen lassen auf:


```
int result = 1;
result = prime * result

if (fieldOfStudy != null) {
   result += fieldOfStudy.hashCode();
}
```

Sagt mir Bescheid, wenn ich mich irre!

Liebe Grüße
Reality


----------

