打字猴:1.70043949e+09
1700439490
1700439491 (2)in. defaultReadObject()
1700439492
1700439493 告知JVM按照默认规则读入对象,惯例的写法也是写在第一句话里。
1700439494
1700439495 (3)out. writeXX和in.readXX
1700439496
1700439497 分别是写入和读出相应的值,类似一个队列,先进先出,如果此处有复杂的数据逻辑,建议按封装Collection对象处理。
1700439498
1700439499 可能有读者会提出,这似乎不是一种优雅的处理方案呀,为什么JDK没有对此提供一个更好的解决办法呢?比如访问者模式,或者设置钩子函数(Hook),完全可以更优雅地解决此类问题。我查阅了大量的文档,得出的结论是:无解,只能说这是一个可行的解决方案而已。
1700439500
1700439501 再回到我们的业务领域,通过上述方法重构后,其代码的修改量减少了许多,也优雅了许多。可能你又要反问了:如此一来,Person类也失去了分布式部署的能力啊。确实是,但是HR系统的难点和重点是薪水计算,特别是绩效工资,它所依赖的参数很复杂(仅从数量上说就有上百甚至上千种),计算公式也不简单(一般是引入脚本语言,个性化公式定制),而相对来说Person类基本上都是“静态”属性,计算的可能性不大,所以即使为性能考虑,Person类为分布式部署的意义也不大。
1700439502
1700439503
1700439504
1700439505
1700439506 编写高质量代码:改善Java程序的151个建议 [:1700438082]
1700439507 编写高质量代码:改善Java程序的151个建议 建议15:break万万不可忘
1700439508
1700439509 我们经常会写一些转换类,比如货币转换、日期转换、编码转换等,在金融领域里用到最多的要数中文数字转换了,比如把“1”转换为“壹”,不过,开源世界是不会提供此工具类的,因为它太贴合中国文化了,要转换还是得自己动手写,代码片段如下:
1700439510
1700439511 public class Client{
1700439512
1700439513 public static void main(String[]args){
1700439514
1700439515 System.out.println(“2=”+toChineseNumberCase(2));
1700439516
1700439517 }
1700439518
1700439519 //把阿拉伯数字翻译成中文大写数字
1700439520
1700439521 public static String toChineseNumberCase(int n){
1700439522
1700439523 String chineseNumber=””;
1700439524
1700439525 switch(n){
1700439526
1700439527 case 0:chineseNumber=“零”;
1700439528
1700439529 case 1:chineseNumber=“壹”;
1700439530
1700439531 case 2:chineseNumber=“贰”;
1700439532
1700439533 case 3:chineseNumber=“叁”;
1700439534
1700439535 case 4:chineseNumber=“肆”;
1700439536
1700439537 case 5:chineseNumber=“伍”;
1700439538
1700439539 case 6:chineseNumber=“陆”;
[ 上一页 ]  [ :1.70043949e+09 ]  [ 下一页 ]