采用泛型编程,极大的提高了重用性和可扩展性