您的位置:首页 > 职场人生

面试题:下面的代码有什么不妥之处?(字符串、一个字符串常量比较内容)

2015-06-05 21:50 393 查看

下面的代码有什么不妥之处?

1. if(username.equals(“wpc”)){}

2. int
x = 1;
return
x==1?true:false;

回答一问题:如果username初值为null在编译的时候会有警告,运行的时候抛出异常

如果username写在后面即使初值为null也不会抛异常

回答问题二:代码冗余无需还要三木运算符判断是否为true或者false,直接返回boolean类型就可以了

package java基础题目;

/*
 * 问题:    1. if(username.equals(“wpc”)){
 * 				
 * }  
 *       2.  int  x = 1;  
 *           return x==1?true:false;  
 */
public class A2015年6月5日代码的不妥之处 {
//	String username;
	public static void main(String[] args) {
		method1();

		boolean bool = method2();
		System.out.println(bool);

		String string = method3();
		System.out.println(string);
	}

	// 用equals比较时变量是放在前面还是后面
	public static void method1() {
		String username = null;

		// 第一个if如果username在前面,若为null的话会报空指针异常
//		if (username.equals("wpc")) {// 如果username在编译时发现真的是null就会给出警告提示信息
//			System.out.println("wpc");
//		}

		// 如果放后面即使没有赋初值,运行时也不会报空指针异常
		if ("wpc".equals(username)) {
			System.out.println("wpc");
		}
	}

	public static boolean method2() {
		int x = 1;
		return x == 2 ? true : false;//代码冗余
//		return x == 1;// 如果相等就返回true不等就返回false(就没必要用三目运算符了)
		// return "xx"=="xx";
	}

	public static String method3() {
		int x = 1;
		return x == 1 ? "正确" : "错误";
	}

	// 比较字符串的内容还可以用==和compareTo()
	public static boolean method4() {
		String string = "xxx";
		String string2 = "xxx";
		return string.equals(string2);// 相等返回true

	}

	public static int method5() {
		String string = "xxx";
		String string2 = "xxx";
		return string.compareTo(string2);// 相等才返回0
	}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: