有一个数组可以存储不同类型的对象:
List<Object> objects = new ArrayList<>();
objects.add(new Matrix());
objects.add(new Path());
这当然很棒,但为什么我不能直接更改每个元素呢?
(Matrix)(objects.get(0)).postScale(2, 2); // postScale красненьким
(Path)(objects.get(1)).transform(objects.get(0)); //transform красненьким
毕竟,通过指定对象的类型(在括号中),我得到了一个这种类型的对象。那么为什么无法访问它的方法呢?多么丢人?
您在转换类型时放错了括号,它应该如下所示: