面试题:下面的代码有什么不妥之处?(字符串、一个字符串常量比较内容)
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 } }
相关文章推荐
- 面试题22 栈的压入、弹出序列
- 面试经历1
- 工作十二载,第一次实施自己换工作的想法,面试总结
- 黑马程序员-关于生产者消费者和火车票出售的线程问题
- 黑马程序员——Java基础——异常
- 黑马程序员-17-java基础-面向对象(3)-继承、抽象类、接口与多态
- 2015/6/5 杭州--铜板街
- 面试题:一个方法和类名相同,那这个是构造方法吗?哪些方式可以获取或设置成员变量的值?
- 黑马程序员-线程Thread类和Runnable接口
- 面试分享(四)-------浙江乾冠信息安全研究院--Android开发
- 黑马程序员---初识反射,Class,Constructor,Field
- 面试分享(三)-------杭州铭师堂教育科技发展有限公司-高级java开发
- 黑马程序员_java语言_数组
- 黑马程序员_java语言_开发工具概述
- [面试系列] java 字符编码
- 黑马程序员_java语言_String类
- 黑马程序员_java语言_常见对象的概述
- 黑马程序员-16-java基础-面向对象(2)-封装与单例程序设计思想
- 黑马程序员-15-java基础-面向对象(1)-概念介绍与类、对象、构造方法
- 剑指offer 面试题30 最小的K个数