private static Map<String, Catst> CatstList = new HashMap<String, Catst>();
..

------------------------------------------------------------

为什么 put后 和 return前 数据会不一样
------解决思路----------------------
put的时候放进去他不会自己再创建一个新的对象,也就是说,你的Map里的myCatst全部都是同一个,所以你在下面那个循环打印出来看的时候,就是你最后一次修改的数据。你要每次都new一个myCatst,才行,这样put进去才是一个一个独立的myCatst。