practice 1 generics
本章总结
practice 2
practice 3