在成员方法中获取类名、方法名、行数

在实例方法中如何获取该方法所属的类名、方法名、行数呢?

例子项目有两个类:

Java代码  

  1. package com.jn.bean;  
  2.   
  3. public class Student {  
  4.     public String method2(int age,String name) {  
  5.         System.out.println("execute....");  
  6.         Class clazz = this.getClass();  
  7.         String className = clazz.getCanonicalName();/* com.jn.bean.Student */  
  8.         String classSimpleName = clazz.getSimpleName();  
  9.         Object[] objs = clazz.getSigners();  
  10.         //当前的线程  
  11.         Thread currentThread=Thread.currentThread();  
  12.         //当前的线程名称  
  13.         String threadName =currentThread .getName();  
  14.         StackTraceElement stackElement=currentThread.getStackTrace()[1];  
  15.         //当前的方法名  
  16.         String methodName=stackElement.getMethodName();  
  17.         //当前的文件名  
  18.         String filename=stackElement.getFileName();  
  19.         int lineNum=stackElement.getLineNumber();  
  20.         System.out.println("class name:\t\t" + className);  
  21.         System.out.println("class simple name:\t" + classSimpleName);  
  22.         System.out.println("thread name:\t\t" + threadName);  
  23.         System.out.println("method name:\t\t"+methodName);  
  24.         System.out.println("file name:\t\t"+filename);  
  25.         System.out.println("line number:\t\t"+lineNum);  
  26.         System.out.println("----------------------------------\n");  
  27.         System.out.println("objs:" + objs);  
  28.         if (objs != null) {  
  29.             for (int i = 0; i < objs.length; i++) {  
  30.                 Object object = objs[i];  
  31.                 System.out.println(object);  
  32.             }  
  33.         }  
  34.         return "success";  
  35.     }  
  36. }  
  37.   
  38. package com.jn.main;  
  39.   
  40. import com.jn.bean.Student;  
  41.   
  42. public class Main2 {  
  43.     public static void main(String[] args) {  
  44.         Student student=new Student();  
  45.         student.method2(1,null);  
  46.     }  
  47. }  

 运行结果:

 

项目结构如下:

 

总结:

(1)在实例方法中获取类名

Class clazz = this.getClass();//因为是实例方法,所以可以用this

String className = clazz.getCanonicalName();/* com.jn.bean.Student */

String classSimpleName = clazz.getSimpleName();

 

(2)获取方法名

//当前的线程

Thread currentThread=Thread.currentThread();

StackTraceElement stackElement=currentThread.getStackTrace()[1];

//当前的方法名

String methodName=stackElement.getMethodName();

 

(3)获取当前行数

//当前的线程

Thread currentThread=Thread.currentThread();

StackTraceElement stackElement=currentThread.getStackTrace()[1];

int lineNum=stackElement.getLineNumber();

时间: 2024-10-29 21:52:44

在成员方法中获取类名、方法名、行数的相关文章

easyui-datagrid中,如何获取选中行的行数?

问题描述 datagrid中,如何获取选中行的行数? datagrid中,如何获取选中行的行数? 谢谢!刚开始学easyui,求大神指教 解决方案 var row=$('#dg').datagrid('getSelected');//单行var rows=$('#dg').datagrid('getSelections');//多行 解决方案二: Jquery Easyui datagrid如何在动态获取当前选中行的值

qt中格子布局删除布局中的控件,行数未减少

问题描述 qt中格子布局删除布局中的控件,行数未减少 //原先这个格子布局中有4个按钮,现在删除第一个的按钮,在最后以后添加一个按钮. QLayoutItem* pDeleteItem(NULL); pDeleteItem = m_pGridLayout->itemAt(0); if(pDeleteItem != NULL) { QWidget* pWidget = pDeleteItem->widget(); m_pGridLayout->removeWidget(pWidget);

在Airgis中怎么显示选中的行数,对Airgis零知识,但是任务要完成。

问题描述 在Airgis中怎么显示选中的行数,对Airgis零知识,但是任务要完成. string whereClause = (_ResultLayer as IFeatureLayerDefinition).DefinitionExpression; string tableName = StaticSystemAOClass.AOComm.GetDataSetName(_ResultLayer.FeatureClass); string sql = string.Format("selec

ASP.NET中实现获取调用方法名

  需要添加相应的命名空间: 复制代码 代码如下: using System; using System.Diagnostics; using System.Reflection; 如果仅是获取当前方法名,可以使用如下代码: 复制代码 代码如下: public static void WriteSysLog(int level, string content) { MethodBase mb = MethodBase.GetCurrentMethod(); string systemModule

GridView中获取被点击行中的DropDownList和TextBox中的值

本文为大家介绍下如何通过点击GridView中的a标签获取被点击行中的下拉框和文本框中的值,具体实现嗲吗如下,感兴趣的朋友可以参考下哈,希望对大家有所帮助   aspx页面代码:通过点击GridView中的a标签获取被点击行中的下拉框和文本框中的值 复制代码 代码如下: <asp:GridView ID="GridView1" runat="server"> <Columns> <asp:BoundField HeaderText=&q

GridView中获取被点击行中的DropDownList和TextBox中的值_jquery

aspx页面代码:通过点击GridView中的a标签获取被点击行中的下拉框和文本框中的值 复制代码 代码如下: <asp:GridView ID="GridView1" runat="server"> <Columns> <asp:BoundField HeaderText="ID" DataField="ID" /> <asp:BoundField HeaderText="

求助怎么用C# 取一个文件夹中所有的txt的行数并且写入dataGridView

问题描述 计算txt的行数和dataGridView单元格一一对应各个txt文件内容为(例):E00401504EB9FE7DE00401504EB9FE7DE00401504EB9FE7DE00401502BB0D3DFE00401502BB0D3DFtxt第一站第一时段第一站第二时段.........dataGridView站数/时段第1时段第2时段第3时段第4时段第1站第2站第3站本人纯属菜鸟需要各位大神源代码 解决方案 解决方案二:技术差,连描述都不清楚,txt例子和gv的描述看不懂是怎

SQL Server中关于基数估计如何计算预估行数的一些探讨

   关于SQL Server 2014中的基数估计,官方文档Optimizing Your Query Plans with the SQL Server 2014 Cardinality Estimator里有大量细节介绍,但是全部是英文,估计也没有几个人仔细阅读.那么SQL Server 2014中基数估计的预估行数到底是怎么计算的呢? 有哪一些规律呢?我们下面通过一些例子来初略了解一下,下面测试案例仅供参考,如有不足或肤浅的地方,敬请指教!   下面实验测试的环境主要为SQL Serve

js获取表格的行数和列数的方法_javascript技巧

如何使用JavaScript获取一个表格的行数和列数?其实很简单,假设存在如下表格: <table width="100%" border="1" cellspacing="0" cellpadding="0" id="example_table"> <tr> <td> </td> <td> </td> <td> </