1. java中 == 与equal的区别:
第一、== 表示 判断2个变量或对象实例是否指向同一个内存空间,equals()表示 判断2个变量或对象实例所指向的内存空间的值是否相同。
第二、== 表示 对内存地址进行比较,equals()表示 对字符串的内容进行比较。
第三、== 表示引用是否相同,equals() 表示值是否相同。
扩展:在重写equals方法时,要注意满足离散数学上的特性:
第一,自反性 :对任意引用值X,x.equals(x)的返回值一定为true.
第二,对称性: 对于任何引用值x,y,当且仅当y.equals(x)返回值为true时,x.equals(y)的返回值一定为true;
第三, 传递性:如果x.equals(y)=true, y.equals(z)=true,则x.equals(z)=true
第四, 一致性:如果参与比较的对象没任何改变,则对象比较的结果也不应该有任何改变
第五, 非空性:任何非空的引用值X,x.equals(null)的返回值一定为false
2. Java compareTo() 方法用于两种方式的比较:
(1) 字符串与对象进行比较。
(2) 按字典顺序比较两个字符串
3. 把一个字符串倒序输出,如字符串为“abcd”,输入值为:cdba“”
//方法一. 使用数组循环
public static String array(String s){
int length=s.length();
char[] array=s.toCharArray();
for(int i=0;i<length/2;i++){
array[i]=s.charAt(length-1-i);
array[length-1-i]=s.charAt(i);<