# Testen ob ein array leer ist



## xZise (25. Mrz 2011)

Moin ist es irgendwie möglich einfach zu testen ob irgendein Array leer ist?

Zum Beispiel in folgender Methode:

```
public static boolean isSet(Object o) {
        if (o == null) {
            return false;
        }
        if (o instanceof String) {
            return !((String) o).isEmpty();
        } else if (o instanceof List<?>) {
            return ((List<?>) o).size() > 0;
        } else {
            return true;
        }
    }
```

Fabian


----------



## Antoras (25. Mrz 2011)

Was verstehst du unter Array? Ich sehe da nirgendwo ein Array.

Die Größe eines Arrays bekommst du über 
	
	
	
	





```
array.length
```
. Wenn diese 0 ist, dann ist das Array leer.


----------



## Gast2 (25. Mrz 2011)

Antoras hat gesagt.:


> Was verstehst du unter Array? Ich sehe da nirgendwo ein Array.
> 
> Die Größe eines Arrays bekommst du über
> 
> ...



Kommt auch drauf an was als "leer" angesehn wird. Ist das Array hier "leer" [c]Object[] x = new Object[]{null,null,null};[/c] oder nicht?


----------



## xZise (25. Mrz 2011)

Naja ich will gucken ob o ein array ist und das die Länge gleich 0 hat. Dabei ist mir egal von welchen Typ das Array ist (also ob String[], int[]....).

Ich hatte vergessen in den Code zu schreiben was ich meinte:

```
public static boolean isSet(Object o) {
        if (o == null) {
            return false;
        }
        if (o instanceof String) {
            return !((String) o).isEmpty();
        } else if (o instanceof List<?>) {
            return ((List<?>) o).size() > 0;
        } else if (o instanceof Array) {
            return ((Array) o).length;
        } else {
            return true;
        }
    }
```

Fabian


----------



## Tomate_Salat (25. Mrz 2011)

```
public boolean isEmpty(Object[] array)
{
	return array.length>0;
}
```
Sowas?


----------



## SlaterB (25. Mrz 2011)

```
o.getClass().isArray()
java.lang.reflect.Array.getLength(o)
```


----------



## xZise (25. Mrz 2011)

SlaterB hat gesagt.:


> ```
> o.getClass().isArray()
> java.lang.reflect.Array.getLength(o)
> ```


Joar das funktioniert!



Tomate_Salat hat gesagt.:


> ```
> public boolean isEmpty(Object[] array)
> {
> return array.length>0;
> ...


Nein, das funktioniert nicht immer (z.B. bei int[] arrays nicht).

Fabian


----------

