易截截图软件、单文件、免安装、纯绿色、仅160KB

一道java面试题

请写出一个静态方法public static String getMyClassName(),使它满足:将这个方法放在任何一个类里面,它都能返回所在类的类名称。
比如把它放在类Narnia里面,这个方法就返回字符串“Narnia”;放在类Minerva里面,就返回字符串“Minerva”.
通过访问栈信息可以实现。

貌似 有点 难度啊


Java code:

public static String getMyClassName(){

return new Throwable().getStackTrace()[1].getClassName();

}




引用
StackTraceElement[] ste = new Throwable().getStackTrace();
return ste[0].getClassName();

厉害,知道得真多。

受过。。。。。。。。。。

使用反射分析类的能力
Class cl =Class.forName(name);
String r = cl.getName();

用securityManger的getClassContext()也可以或许当前运行栈的信息。
我觉得讨论 这么做的意义 比如何实现 有用。


Java code:

private static String getClassName(){
return new Throwable().getStackTrace()[0].getClassName();
}



引用
StackTraceElement[] ste = new Throwable().getStackTrace();
return ste[0].getClassName();


牛。。根本就没想到。哎,差距了。

引用


相关问答:

java日期处理 - Java / Java SE

当知道一个日期,如何把这个日期所在旬的前后两个日期取出
比如输入20090905,就输入20090901 20090910
输出20090901 20090910

取得天数后作一下判断再把这个方法用下void set(int field, int value)  
......

asp 调用java写的webservice - Web 开发 / ASP

在asp里怎么调用java写的webservice方法,有很多方法
- <message name="RtPnrIn">
  <part name="bstrPnrNO" type="s:string" /> 
  <part name ......

mysql连接tomcat - Java / Web 开发

我已经按照教程上配置tomcat的server.xml
<Context path = "/POS" docBase = "POS" debug = "5" reloadable = "true" crossContext = "true" workDir = &quo ......

关于AJAX和JSP的一些小问题~ - Java / Web 开发

我JSP的页面是:
<%@ page language="java" contentType="text/html; charset=gb2312"
  %>
<script>
function Save(){
xmlHttp=GetXmlHttpObject()
if(xmlHttp==nul ......

一道java题目,等待大家给予解答~~ - Java / Java EE

题目:
  有1,2,3,4,5,6六个数字排序,用java程序计算出排序的种类。
  要求:一,以4开头
  二,2,3不能相邻
  三,不能以5开头
  希望大家能即 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号