欢迎进入北大青鸟(广州网耀)全国IT职业教育示范中心

学历不是敲门砖,技术才是硬道理

咨询热线:4006-1122-06
当前位置:首页 > 青鸟知识库 > java > 新手入门

Java 新手问题

发布时间: 2016-01-28 10:00:51   作者:本站编辑   来源: 本站原创   浏览次数:

优先返回空集合而非null

如果程序要返回一个没有任何值的集合,请确保返回的是空集合而不是null。这能省掉大量的”if else”检查。

public class getLocationName {

    return (null==cityName ? "": cityName);

}

 

谨慎操作字符串

当两个字符串在for循环中使用+操作符进行连接时,每执行一次循环都会产生一个新的字符串对象,不但浪费内存还会空间影响性能。所以初始化字符串对象时,尽量不要使用构造方法,而应该直接初始化。比如:

//Slower Instantiation

String bad = new String("Yet another string object");

//Faster Instantiation

String good = "Yet another string object"

 

避免无用对象

创建对象是Java中最昂贵的操作之一,最好在必要的时候进行对象的创建/初始化。如下:

import java.util.ArrayList;

import java.util.List;

public class Employees {

    private List Employees;

    public List getEmployees() {

        //initialize only when required

        if(null == Employees) {

            Employees = new ArrayList();

        }

        return Employees;

    }

}

 

判断奇数

看下这段用来地判断一个数是否是奇数的代码:

public boolean oddOrNot(int num) {

    return num % 2 == 1;

}

这段代码看似是对的,但是每执行4遍会就有一个错误的结果。考虑到负奇数的情况,除以2结果就不等于1,返回false,这个结果显然是错的。

代码可以修改成这样:

public boolean oddOrNot(int num) {

    return (num & 1) != 0;

}

这样写不但负奇数的问题解决了,并且经过了充分优化。因为算术运算和逻辑运算要比乘除运算更高效,计算的结果也更快。

 

单引号与双引号的区别

public class Haha {

    public static void main(String args[]) {

    System.out.print("H" + "a");

    System.out.print('H' + 'a');

    }

}

一般以为这段代码会返回”Haha”,但实际返回的是Ha169。原因就是当使用了双引号以后,字符会被当作字符串处理,而如果是单引号,字符值会通过一个基础类型拓宽的操作被转换成整型值,再将值相加,案例中得到的结果就是169。

分享到:
我来说两句
评论内容:
验  证  码:
 
(网友评论仅供其表达个人看法,并不表明本站同意其观点或证实其描述。)
评论列表
已有 0 条评论(查看更多评论)