锁定老帖子 主题:自己实现了一个较实用的Pojo(实体)基类
该帖已经被评为新手帖
|
|
---|---|
作者 | 正文 |
发表时间:2009-04-25
mccxj 写道 不支持这样用,这么用反射没什么好处
我也投个隐藏 投人家隐藏贴应该给个有说服力的理由先,光是一句“没什么好处”,实在是草率了。 |
|
返回顶楼 | |
发表时间:2009-04-25
最后修改:2009-04-25
这样的东西感觉没有什么价值,恕我草率!
因为很多东西原本就是这样用就可以了,非得画蛇添足啊,我还是看不出有什么优势啊,呵呵 我就是看看而已,当然还是支持楼主的实践精神 |
|
返回顶楼 | |
发表时间:2009-04-25
最后修改:2009-04-25
例如:
用List的contains的时候 用Map的containsKey/containsValue的时候 SortedMap... SortedSet... . . . 等等 在一个集合里动一下就基本上要用到equals或hashCode了,你自己应该要好好对比对比衡量衡量 |
|
返回顶楼 | |
发表时间:2009-04-27
正好给新手反射的示例代码。
不过我一般单独重载ToString(),毕竟这个跟需求有关。 |
|
返回顶楼 | |
发表时间:2009-04-27
碧海山城 写道 对于投隐藏贴的,不记名,怎么说也得给个理由吧,javaeye应该给这个功能
好吧 我投了隐藏贴 我来说说 刚看了几行就忍不住点了 注意重写的equals方法 1 对obj判定null了吗…… 在equals方法里抛NullpointerException是不好的 2 说说其它几个方面吧 说到重写equals方法的几条规则 自反性 对称性 传递性 幂等性 都能满足吗……(真没细看 看到第一个方法没几行就冲动的点了) 当然 lz的探索精神还是很好的 值得鼓励 比我强多了 潜水多年从没发过这样自己思考的帖子 |
|
返回顶楼 | |
发表时间:2009-04-27
来个循环引用的对象,ls的方法就死翘翘了。
^_^ |
|
返回顶楼 | |
发表时间:2009-04-27
反射机制是把双刃剑,不好滥用,我宁可我的实体类是POJO
|
|
返回顶楼 | |
发表时间:2009-04-28
这种代码意义确实不大,不过作为初学者练手的作品要求也不能太苛刻了。
|
|
返回顶楼 | |
发表时间:2009-04-28
反射方面不说,就继承的用法上感觉就不对。一般来说是在is a的关系上才继承。而想要得到某功能而去继承,这样的做法不好。可以考虑用工具类的方式提供你的功能。例如你的功能,可以这样实现:
/** * */ package com.humanmonth.flow; import java.util.List; import org.apache.commons.lang.builder.ToStringBuilder; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; /** * 调试的打印工具类 * * @author presses * */ public class PrintUtil { private static Log log = LogFactory.getLog(PrintUtil.class); /** * 打印List集合,集合中装的是原型或它的包装类 */ @SuppressWarnings("unchecked") public static void printRawList(List rawList, String... descripts) { if (descripts != null && descripts.length > 0) { for (String str : descripts) { log.info(str); } } if (null == rawList) { log.info("集合中没有元素"); return; } for (Object obj : rawList) { PrintUtil.printObject(obj); } } @SuppressWarnings("unchecked") public static void printRawListWithNoReflection(List rawList, String... descripts) { if (descripts != null && descripts.length > 0) { for (String str : descripts) { log.info(str); } } if (null == rawList) { log.info("集合中没有元素"); return; } for (Object obj : rawList) { log.info(obj); } } /** * 反射打印对像 */ public static void printObject(Object obj, String... descripts) { if (descripts.length == 1) { log.info(descripts[0]); } log.info(ToStringBuilder.reflectionToString(obj)); } } 补充一句,上面这工具类的log的用法不对。 |
|
返回顶楼 | |
发表时间:2009-04-28
最后修改:2009-04-28
JE上许多人太不厚道了。
看投新手帖的那么多。LZ至少做了些什么,而有些人只是点了点鼠标。 而有些人更可恶,先COPY,之后在点下鼠标---> 新手帖。 别拍我。我知道这年头说实话容易被拍! |
|
返回顶楼 | |