# Welcher Typ



## rippz (10. Feb 2012)

Ich mache zur Zeit ein paar Altklausuren zur Klausurvorbereitung. Eine Aufgabe lautet wie folgt:

Welchen Typ haben die folgenden Java-Ausdrücke?
a) 128 + ((byte) 56)
b) (2.0 + 120)
c) "128" + 56

Ich hätte jetzt folgendermaßen geantwortet:
a) int
b) double
c) String

Ich habe keine Lösungen. Wie kann ich den Datentyp nachprüfen um mein Ergebnis zu überprüfen?


----------



## SlaterB (10. Feb 2012)

das ganze in ein Java-Programm eintippen?

bei 

```
int k = "128" + 56;
String x = "128" + 56;
```
wird dir ein Compiler schon das eine anmeckern, das andere nicht


----------



## rippz (10. Feb 2012)

Okay man sieht es an der Fehlermeldung, wenn man einen falschen Typ nimmt. Ich dachte er sagt einem dann einfach nur falsch.


----------



## lean (11. Feb 2012)

Du könntest dir die resultierenden Typen folgendermaßen ausgeben lassen:

```
public class TypeInspection {

	public static void main(String[] args) {
		printType(128 + ((byte) 56));
		printType((2.0 + 120));
		printType("128" + 56);
	}

	private static void printType(Object o) {
		System.out.println(o.getClass().getSimpleName());
	}

}
```
Die Ausgabe ist dann:

```
Integer
Double
String
```
Die oberen 2 Klassen sind die Wrapperklassen für die primitiven Datentypen 
	
	
	
	





```
int
```
 und 
	
	
	
	





```
double
```
.


----------

