Вот переменная Class<?> cls
, теперь я хочу получить еще один Array Class Object
, тип компонента которого cls
.
Например, если cls
= String.class
, я хочу получить String[].class
; if cls
= int.class
, я хочу получить int[].class
, что мне делать?
Понимаете, довольно легко получить String.class
от String[].class
:
Class<?> arrayCls = String[].class;
if(arrayCls.isArray()){
Class<?> cls = arrayCls.getComponentType();
}
Но я не могу найти простой способ сделать обратное.
Вот одно из возможных решений:
Class<?> clazz = String.class;
Class<?> arrayClass = Array.newInstance(clazz,0).getClass();
Есть ли какой-нибудь способ, чтобы сделать это, пожалуйста?