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

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

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
	}
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

绝地反击T

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值