Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 仅获取类的名称。getName()_Java_Class - Fatal编程技术网

Java 仅获取类的名称。getName()

Java 仅获取类的名称。getName(),java,class,Java,Class,我怎样才能得到这个班的名字 String.class.getName() returns java.lang.String 我只对最后一部分感兴趣 任何Api都可以做到这一点?或programmaticaly String s = String.class.getName(); s = s.substring(s.lastIndexOf('.') + 1); Social.class.getSimpleName() getSimpleName(): 返回源代码中给定的基础类的简单名称。

我怎样才能得到这个班的名字

String.class.getName()  returns java.lang.String

我只对最后一部分感兴趣
任何Api都可以做到这一点?

或programmaticaly

String s = String.class.getName();
s = s.substring(s.lastIndexOf('.') + 1);
Social.class.getSimpleName()

getSimpleName(): 返回源代码中给定的基础类的简单名称。如果基础类是匿名的,则返回空字符串。
数组的简单名称是附加了“[]”的组件类型的简单名称。尤其是组件类型为匿名的数组的简单名称为“[]”

以下两种方法都可以

System.out.println("The Class Name is: " + this.getClass().getName());
System.out.println("The simple Class Name is: " + this.getClass().getSimpleName());
输出如下:

班级名称是:package.Student

简单的类名是:Student


您可以使用以下简单技术打印具有类名的日志

private String TAG = MainActivity.class.getSimpleName();
假设我们必须在方法中检查即将到来的变量值,那么我们可以使用类似于下面的日志:

private void printVariable(){
Log.e(TAG, "printVariable: ");
}
这一行的重要性在于,我们可以检查方法名和类名。要写入这种类型的日志

写入:-loge并输入

将在控制台上打印

E/MainActivity: printVariable:

获取简单名称而不是路径

String onlyClassName =  this.getLocalClassName(); 

在onCreate中调用上述方法以下是访问对象属性的Groovy方法:

this.class.simpleName    # returns the simple name of the current class

Java有很好的在线文档。下面andyb链接的页面就是一个例子。每当您对类或包的确切功能有疑问时,javadocs就像谷歌搜索“java 6”一样容易找到。这对我很有帮助,因为我无法从我的框架中使用getSimpleName()。此外,编程方法可以为匿名类生成合理的结果。@冒名顶替者您使用的是Java 1.5之前的版本?您需要处理找不到
的情况。@eckes如果找不到点,结果将是-1,添加1将得到一个从索引0开始的子字符串-这正是您在这种情况下需要的。(我刚刚用
int[]
测试过,结果是
“[I”
)String.class.getSimpleName()->String,其中作为String.class.getName()->java.lang.StringThank,@andyb
getSimpleName()
更容易访问除去包名的类名。语法:
object.getClass().getSimpleName()
如何为静态字符串变量分配它。它在android studio中显示错误。不适用于内部类:这将去掉封闭类的名称,而不仅仅是包。解决方案不完整。如果不提供方法的源代码,OP将无法使用它。