sách gpt4 ai đã đi

Phương pháp Java làm thế nào để lấy đối tượng phương thức thuộc về phương thức cụ thể đó? ( tiếng việt )

In lại 作者:行者123 更新时间:2023-12-01 16:40:20 48 4
mua khóa gpt4 Nike

我正在编写一个具有以下签名的 Java 方法。

void Logger(Method method, Object[] args);

如果一个方法(例如 ABC() )调用此方法 Logger,它应该检索封装有关自身数据的 Method 对象 (ABC()) 并将其作为参数传递。

方法如何检索存储有关该方法的所有信息的 Method 对象?

一个简单的方法是我使用Method[] 方法 = ExampleClass.Class.getMethods();并在整个数组中搜索具有正确名称的方法。 (这是相当低效的)。另外,如果两个或多个方法具有相同的名称,那么我也必须检索它们的参数类型(以区分它们),并且每个方法都有不同的代码。这不仅效率低下而且痛苦。

有更好的方法吗?

感谢您的帮助。

1 Câu trả lời

别这么做。而是从堆栈中获取方法名称。

public void log(Object object) {
String methodName = Thread.currentThread().getStackTrace()[2].getMethodName();
// ...
}

然而,这是相当昂贵的,这就是为什么大多数自尊的日志框架提供了一个打开/关闭它的选项(我建议使用它而不是自制的)。

关于java - Java 方法如何检索属于该特定方法的方法对象? ( java ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4366649/

48 4 1
Bài viết được đề xuất: Flutter ToggleButton 类 - Flutter 1.9.1
Bài viết được đề xuất: Java 游戏错误(数组、this.、方法)
Bài viết được đề xuất: java - 自定义JButton样式
Bài viết được đề xuất: javas内存使用无法释放
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com