注意在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