gpt4 book ai didi

java - Intellij,无法解析符号 ByteBufferGuard

转载 作者:行者123 更新时间:2023-11-30 06:56:01 29 4
gpt4 key购买 nike

我设置了一个小project ,最后一节小课 ByteBufferGuardByteBufferGuard.java文件:

final class ByteBufferGuard {
@FunctionalInterface
static interface BufferCleaner {
void freeBuffer(String resourceDescription, ByteBuffer b) throws IOException;
}
}

然后是另一个类,MMapDirectory.java 。好吧,在这个类上我无法引用BufferCleaner只需导入它,因为:

import ByteBufferGuard.BufferCleaner;

返回:

cannot resolve symbol ByteBufferGuard

但这很奇怪,因为只有 ByteBufferGuard被标记为红色,它确实看到了接下来发生的事情,即 BufferCleaner .

这两个类都位于同一个gradle默认根包下,即src/main/java/

看着类似的答案,我已经尝试过“使缓存无效/重新启动”并删除 .idea文件夹并再次打开项目..到目前为止还没有成功。

假设这不是一个拦截器,因为我可以替换 BufferCleaner 的所有引用与 ByteBufferGuard.BufferCleaner ,但它仍然困扰着我,所以我想解决这个问题。

你知道问题出在哪里吗?

java 1.8 u112

intellij 2017.1 eap

另一个有趣的事实是,使用 Kotlin 进行相同的导入就像一个魅力......

最佳答案

不要使用默认包(未命名的包) - 如果您将这两个文件移动到一个包(子目录),它应该可以工作。

package some.package;

final class ByteBufferGuard {
@FunctionalInterface
static interface BufferCleaner {
void freeBuffer(String resourceDescription, ByteBuffer b) throws IOException;
}
}

package some.package;

import some.package.ByteBufferGuard.BufferCleaner;

public class MapDirectory {
private BufferCleaner cleaner;
// ...
}

(用eclipse测试,但应该是一样的)

无法从默认包导入类:

关于java - Intellij,无法解析符号 ByteBufferGuard,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41802209/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com