String s1="666";
// String s2="66"+"6";
// System.out.println(s1==s2);这里有一个对象,因为s1和s2相同。
String s2="66";
String s3=s2+"6"; //字符串的拼接实际上是通过StringBuilder实现
//new StringBuilder().append(s2).append("6").toString()这就是字符穿拼接生成的样子。
System.out.println(s3==s1);
System.out.println(s1.equals(s3));这里有两个对象因为字符串的拼接就意味者对象的生产
String s1="666";
// String s2="66"+"6";
// System.out.println(s1==s2);
String s2="66";
String s3=s2+"6"; //字符串的拼接实际上是通过StringBuilder实现
//new StringBuilder().append(s2).append("6").toString()
System.out.println(s3==s1);
System.out.println(s1.equals(s3));
compable和comparator的用法。
Comaprable是一个接口,接口中只有一个方法那就是compareTo(),通过返回一个int类型的值来表示大小;java中常见的值类,Interger、Double等类都实现了该方法来进行数值大小的比较;
comparator
public interface Comparator<T> {
int compare(T o1, T o2);//两个参数
boolean equals(Object obj);
default Comparator<T> reversed() {
return Collections.reverseOrder(this);//值只有三种-1,0,1
}
compable
package 顶顶顶;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import java.util.Random;
public class ssqz {
public static void main(String[] args) {
List<a1> cc = new ArrayList<>(100);
a1 aa;
Random xx = new Random();
for (int x = 0; x < 10; x++) {
int f = xx.nextInt(100);
int c = xx.nextInt(20);
aa = new a1(c, f);
cc.add(aa);
}
Collections.shuffle(cc);
Collections.sort(cc);
cc.stream().forEach(System.out::println);
}
}
class a1 implements Comparable<a1> {
private int zimu;
private int count;
public int getZimu() {
return zimu;
}
public void setZimu(int zimu) {
this.zimu = zimu;
}
public int getCount() {
return count;
}
public void setCount(int count) {
this.count = count;
}
public a1(int zimu, int count) {
this.zimu = zimu;
this.count = count;
}
@Override
public String toString() {
return "a1 [zimu=" + zimu + ", count=" + count + "]";
}
@Override
public int compareTo(a1 o) {
return this.zimu - o.zimu;//比较字母的次数。
}
}