Java «не удается найти символ», компилируемый из командной строки - PullRequest
0 голосов
/ 21 января 2020

Я программирую систему кеширования, которая может хранить любой объект. У меня есть эти два класса:

public class Cache<T> { ... }

public class CacheDriver<T> { private Cache<T> cache1, cache2; }

У меня также есть класс Test, который содержит мой основной метод и код тестирования.

public class Test { CacheDriver<String> c; }

Когда я пытаюсь скомпилировать из командной строки с

javac Test.java

Я получаю это:

Test.java:8: error: cannot find symbol
private CacheDriver<String> c;
        ^
symbol:   class CacheDriver
location: class Test

У меня также возникают те же ошибки, когда я создаю экземпляры объектов CacheDriver с:

c = new CacheDriver(Integer.parseInt(args[0]), Integer.parseInt(args[1]));

Я сделал немного исследуйте и думайте, что это может иметь какое-то отношение к моему generi c T и двум классам, не имеющим общего, но я не знаю, как это исправить. Как мне это сделать?

РЕДАКТИРОВАТЬ: Я они были внутри пакета. Я переместил их из пакета прямо в папку sr c, и это сработало. Не совсем уверен, почему, но я возьму это.

...