作家
登录

关于Java习惯用法的总结

作者: 来源: 2017-09-05 12:03:04 阅读 我要评论

  • 参考:java.io.PrintWriter、java.io.OutputStreamWriter。
  • 预防性检测(Defensive checking)数值

    1. int factorial(int n) { 
    2.   if (n < 0) 
    3.     throw new IllegalArgumentException("Undefined"); 
    4.   else if (n >= 13) 
    5.     throw new ArithmeticException("Result overflow"); 
    6.   else if (n == 0) 
    7.     return 1; 
    8.   else 
    9.     return n * factorial(n - 1); 
    10.  
    • 不要认为输入的数值都是正数、足够小的数等等。要显式地检测这些前提。
    • 一个设计优胜的函数应当对所有可能性的输入值都可以或许精确地履行。要确保所有的情况都推敲到了并且不会产生缺点的输出(比如溢出)。

    预防性检测对象

    1. int findIndex(List<String> list, String target) { 
    2.   if (list == null || target == null
    3.     throw new NullPointerException(); 
    4.   ... 
    5.  
    • 不要认为对象参数不会为空(null)。要显式地检测这个前提。

    预防性检测数组索引

    1. void frob(byte[] b, int index) { 
    2.   if (b == null
    3.     throw new NullPointerException(); 
    4.   if (index < 0 || index >= b.length) 
    5.     throw new IndexOutOfBoundsException(); 
    6.   ... 
    7.  
    • 不要认为所以给的数组索引不会越界。要显式地检测它。

    预防性检测数组区间

    1. void frob(byte[] b, int offint len) { 
    2.   if (b == null
    3.     throw new NullPointerException(); 
    4.   if (off < 0 || off > b.length 
    5.     || len < 0 || b.length - off < len) 
    6.     throw new IndexOutOfBoundsException(); 
    7.   ... 
    8.  
    • 不要认为所给的数组区间(比如,大年夜off开端,攫取len个元素)是不会越界。要显式地检测它。

    填充数组元素

    使悠揭捉?环:

    1. Arrays.fill(a, (byte)123); 
    • 参考:java.util.Arrays.fill(T[], T)。
    • 参考:java.util.Arrays.fill(T[], int, int, T)。

    复制一个范围内的数组元素

    使悠揭捉?环:


        推荐阅读

        非常实用的Linux命令行技巧

      我们天天应用很多Linux敕令行。我们大年夜网上知道一些技能,但如不雅我们不去演习,我们就有可能忘记。我决定做一个关于技能和桥绫桥的列表,这些技能和桥绫桥对于你来说可能是已经忘记的,或>>>详细阅读


      本文标题:关于Java习惯用法的总结

      地址:http://www.17bianji.com/lsqh/37140.html

    关键词: 探索发现

    乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

    网友点评
    自媒体专栏

    评论

    热度

    精彩导读
    栏目ID=71的表不存在(操作类型=0)