будьте осторожны, в java почти все может быть объектом
, поэтому этот
Object obj = new Object[10];
так же действителен, как
Object obj2 = new String("Hi");
или даже
Object[] obj3 = new Object[10];
основная разница между obj и obj3 заключается в том, что с obj3 вы можете делать такие вещи, как
obj[1] = "as"
, но в obj вы не можете
public static void main (String[] args) throws java.lang.Exception
{
Object[] obj = new Object[10];
obj[0] = new Integer(1);
obj[1] = "hello";
System.out.println(obj[1]);
Object obj2 = new Object[10];
obj2[0] = new Integer(1);
^--- ERROR!
}
Я думаю, что ключ Чтобы понять, как работает ref, посмотрите это:
//CASTING
Object someString = new String("abcdf");
в этот момент someString не строка, а объект, поэтому, если вам нужно обрабатывать как строку и использовать все строковые методы, которые вам нужны, чтобы ее преобразовать в строку
System.out.println(((String)someString).toUpperCase());
попытка выполнить
System.out.println(someString.toUpperCase());
вызовет java жалобу, так как класс «объект» не имеет метода toUpperCase