Я программирую систему кеширования, которая может хранить любой объект. У меня есть эти два класса:
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, и это сработало. Не совсем уверен, почему, но я возьму это.