小编ros*_*dal的帖子

Java 10 中的非法反射访问操作警告

我希望能得到一些帮助来重写一些使用反射的 Java 代码,以从 Java 10 上的编译器中删除警告:

这是有问题的Java方法:

public static boolean clean(final java.nio.ByteBuffer buffer) {
    if (buffer == null || !buffer.isDirect())
        return false;

    Boolean b = (Boolean) AccessController.doPrivileged(new PrivilegedAction() {
        public Object run() {
            Boolean success = Boolean.FALSE;
            try {
                Method getCleanerMethod = buffer.getClass().getMethod("cleaner", (Class[])null);
                getCleanerMethod.setAccessible(true);
                Object cleaner = getCleanerMethod.invoke(buffer, (Object[])null);
                Method clean = cleaner.getClass().getMethod("clean", (Class[])null);
                clean.invoke(cleaner, (Object[])null);
                success = Boolean.TRUE;
            } catch (Exception e) {
                // This really is a show stopper on windows
                //e.printStackTrace();
            }
            return success;
        }
    }); …
Run Code Online (Sandbox Code Playgroud)

java reflection openpdf

2
推荐指数
1
解决办法
5941
查看次数

标签 统计

java ×1

openpdf ×1

reflection ×1