Jak sprawdzić czy tablica jest prawdziwym obiektem

0

Witam, potrzebuje sprawdzić 2 rzeczy

  1. raz czy tablica jest typem podstawowym
  2. czy jest prawdziwym obiektem

napisałem 1 część
Object array = Array.newInstance(int.class, 3);
Class type = array.getClass();
if type.isArray
Class elementType = type.getComponentType();
System.out.println("Tablica " + elementType);

ale nie moge dojsc jak sprawdzić to 2...pomoy :)

0

Tablica jest zawsze obiektem. Niezależnie czy zawiera typy podstawowe czy obiekty. Patrz specyfikacja języka.

0

no tak, ale mam napisac program sprawdzajacy czy tablica znakow jest prawdziwym obiektem czy typem podstawowym??

0

Powtarzam po raz kolejny KAŻDA TABLICA W JAVIE JEST OBIEKTEM.
Można zatem ograniczyć się do sprawdzenia czy do metody przekazywana jest tablica. Przykładowy program:

package eu.runelord.programmers.forum.p131708;

public class P131708 {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		Object[] a, b;
		a = new Object[10];
		System.out.println(isObject(a));
		b = null;
		System.out.println(isObject(b));
		Object c = new Object();
		System.out.println(isObject(c));
		
		int[] d = new int[10];
		System.out.println(isObject(d));
		int e = 10;
		System.out.println(isObject(e));
	}

	public static <T> boolean isObject(T t) {
		if (t != null) {
			if (t.getClass().isArray())
				return true;
		}
		return false;
	}
}

tylko umieść w pakiecie lub wywal pierwszą linijkę.

0

Dzieki o to mi chodzilo, nie wiedzialem jak to ugrysc a faktycznie wystarczylo sprawdzic czy do metody przekazywana jest tablica...naprawde dzieki

1 użytkowników online, w tym zalogowanych: 0, gości: 1