1. 如果两个字符串采用直接赋值的方式进行初始化(没有使用new关键字),此时,使用 == 对两个字符串进行比较,得到的是true
String str1 = "Girl";
String str2 = "Girl";
System.out.println(str1 == str2);//true
String str3 = new String("Girl");
String str4 = new String("Girl");
System.out.println(str3 == str4);//false
System.out.println(str3 == str2);//false
2. 练习题
public void test1() {
Object obj = true ? new Integer(1) : new Double(2.0);
System.out.println(obj);
}
public void test2() {
Object obj2;
if(true) {
obj2 = new Integer(1);
}else {
obj2= new Double(2.0);
}
System.out.println(obj2);
}
结果:test1中输出1.0,test2中输出1,因为三元运算符在编译时就要对true或false两种结果创建的对象进行统一,所以Integer类型被自动提升为了Double类型
3.获取当前按月份
Calendar calendar = Calendar.getInstance();
int month = calendar.get(Calendar.MONTH) + 1;//1月 = 0;