将方法存储在变量中时出错

Sim*_*ver 5 java

Class c = v.getClass();
try {
    Method m = c.getMethod("something");
    if(!m.getReturnType().equals(Boolean.TYPE)) {return false;}
} catch(NoSuchMethodException e) {return false;}
Run Code Online (Sandbox Code Playgroud)

...... v某个类的对象在哪里.
当我尝试编译时,我得到:

错误:找不到符号
方法m = c.getMethod("something");
^

方法是一种驻留的类型java.lang.reflect.Method.据我所知java.lang,默认导入后续内容,但我甚至明确地这样做了:

import java.lang.*;
Run Code Online (Sandbox Code Playgroud)

所以我的问题是:如何使我的编译器识别该类Method,或者如何存储其他的returnvalue getMethod

PS:请忽略对getMethod的未经检查的调用,这将是一个不同时间的问题(可能是一个不同的问题).

Kon*_*kov 8

java.lang.包中的类会自动导入,但这不适用于嵌套包.这不仅是正确java.lang.*的,但对于一般所有软件包-嵌套包不会自动导入,如果你从一个嵌套包需要一些类,你应该明确地将其导入.像这样:

import java.lang.reflect.Method;
Run Code Online (Sandbox Code Playgroud)