检索数组类名称

Mav*_*rik 7 java arrays

我有问题.

在一个方法中,我收到一个通用的Object作为参数,我必须检索该类的名称

public void myMethod(Object o)
  String className = o.getClass().getName();
  ...
}
Run Code Online (Sandbox Code Playgroud)

它工作,除非我给方法数组.例如,如果向方法传递double(double[])数组,则getClass().getName()返回给我[D

我怎样才能检索出类似的东西double[]

For*_*ega 12

[D意味着一系列双打.请查看此链接以获取有关类名的说明.为什么你喜欢这样的东西double[]

  • @Fortega我需要double [],因为它比[D,我认为[D可能是一个非唯一标识符]更清晰.无论如何`getCanonicalName`返回double [] (3认同)

Mos*_*afa 5

类的简单名称就是您正在寻找的:

System.out.print(new String[0].getClass().getSimpleName());
Run Code Online (Sandbox Code Playgroud)

结果是:

String[]
Run Code Online (Sandbox Code Playgroud)