Ребята, у меня немного другая проблема с загрузкой классов Java Dynamic.Я должен передать объект (скажем, Объект A1 класса A) конструктору другого объекта B1 класса B, так что детали A1 хранятся внутри B1.B1 не знает, какой объект он получает.Поэтому все, что он знает, это то, что A1 - это объект.
Теперь у меня есть функции в классе B, которые принимают объект C1 и проверяют, равен ли он объекту A1.Поэтому в основном я должен проверить
- Если объект C1 также принадлежит к типу класса A. (На самом деле я не достиг этой точки.)
- Если значения внутри объектов являютсято же самое
Я попробовал решение:
При сохранении объекта A1 внутри B1 я также сохраняю имя класса «A», поскольку объект B1 получает только объект A1, но неимя класса A.
public static void testing(Object C1, String s) //testing is the function of B called by B1
{
try{
Class c = Class.forName(s);
if( C1 instanceof c) // This is throwing error stating c cannot be resolved to a type
{
//further checking
}
}catch (Exception e){ System.out.println(e);}
}
Я пробовал другой код, чтобы заставить тип класса выполнить сравнение instanceof (), но я не увенчался успехом.Любое предложение?
Я даже пытался это, но та же ошибка
ClassLoader classLoader = B.class.getClassLoader();
try{
Class class11 = classLoader.loadClass(s);
if ( C1 instanceof class11 )
{
}
}catch (Exception e){ System.out.println(e);}
Любой указатель о том, как действовать, будет очень полезно!
Решение заключается в использовании: isInstance вместоinstanceof
Есть и другие проблемы, связанные с этой проблемой.Позвольте мне обновить его с моим комментарием ниже.Теперь я должен сравнить значение, скажем, AGE, как в C1, так и в A1, которое находится внутри B1.Теперь, как мне это сделать?Если я попытаюсь использовать функции или значения, я сообщу мне об ошибке компилятора, потому что компилятор все еще не замечает тип класса объекта C1 и A1
Кроме того, я мог бы сначала сохранить X1 вместо A1.Теперь мне, возможно, придется проверить другую проверку свойств, например, АДРЕС.Это резко меняет размер проблемы.