
本篇为《Effective Java》读书笔记系列04(多图预警!)。
笔记



补充
条目29
首先考虑这样一种情形:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
|
public class { private Map<String, Object> fav = new HashMap<>(); public void putFavorite(String s, Object o) { fav.put(s, o); } public Object getFavorite(String s) { return fav.get(s); } } Favorites favorite = new Favorites(); Apple apple = new Apple(); favorite.putFavorite("喜爱", apple); Apple apple01 = (Apple)favorite.getFavorite("喜爱");
|
这个时候需要在最后一行向上转型,而且当出现下面这种情形时:
1 2 3
|
Orange orange = new Orange(); favorite.putFavorite("喜爱", orange); Apple apple02 = (Apple)favorite.getFavorite("喜爱");
|
会出现运行时错误,破坏了Java类型安全。
近期评论