作家
登录

从Effective Java总结一些有助安卓开发的建议

作者: 来源: 2017-07-13 09:01:57 阅读 我要评论

  •     } 
  • // Use like this: 
  • Movie matrix = Movie.newBuilder().withTitle("The Matrix").build();  
    1. class Movie { 
    2.     [...] 
    3.     static class MovieAward { 
    4.         [...] 
    5.     } 
    6.  

    避免可变性

    1. class Movie { 
    2.     [...] 
    3.     Movie sequel() { 
    4.         return Movie.create(this.title + " 2"); 
    5.     } 
    6. // Use like this: 
    7. Movie toyStory = Movie.create("Toy Story"); 
    8. Movie toyStory2 = toyStory.sequel();  

    或许很难做到每个类都弗成变。对于这种情况,尽可能使你的类变得弗成变(比如应用 private final 字段,final 类声明)。在移动设备上创建对象价值加倍昂贵,是以不要过度应用。

    弗成变对象在颇┞符个生命周期中都保持不变。所有须要的数据都在对象创建时供给。这种方法有着多种长处,如简单,线程安然以及可共享。

    静态成员类

    如不雅你定义了一个不依附于外部类的内部类,别忘了将其定义为静态的。不这么做的话会导致每个内部类的实例都邑拥有对外部类的引用。

    泛型(几乎)无处不在

    Java 供给潦攀类型安然的特点,我们应对此心怀感激(看看JS吧)。尽量避免应用原始类型 (raw types)或者对象类型。泛型大年夜多半情况下都供给了让你的代码在编译时类型安然的机制。

    1. // DON'T 
    2. List movies = Lists.newArrayList(); 
    3. movies.add("Hello!"); 
    4. [...] 
    5. String movie = (String) movies.get(0); 
    6.   
    7. // DO 
    8. List<String> movies = Lists.newArrayList(); 
    9. movies.add("Hello!"); 
    10. [...] 
    11. String movie = movies.get(0);  

    别忘了你能在函数的参数和返回值中应用泛型。

    1. // DON'T 
    2. List sort(List input) { 
    3.     [...] 
    4.   
    5. // DO 
    6. <T> List<T> sort(List<T> input) { 
    7.     [...] 
    8.  

    为了加倍灵活你可以应用 bounded wildcards 来拓展可接收的类型典范围。

    1. // Read stuff from collection - use "extends" 
    2. void readList(List<? extends Movie> movieList) { 
    3.     for (Movie movie : movieList) { 
    4.         System.out.print(movie.getTitle()); 

        推荐阅读

        专家:亟须构造“互联网+”时代金融监管体系

      &ldquo;互联网金融在公平易近经济中扮演侧重要感化的同时,不难看出其在快速成长过程中也裸露出了异常严重的安然风险问题。&rdquo;7月11日,国度信息化专家咨询委员会常务副主任、国度互联网金融专业技巧委员会主任周>>>详细阅读


      本文标题:从Effective Java总结一些有助安卓开发的建议

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

    关键词: 探索发现

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

    网友点评
    自媒体专栏

    评论

    热度

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