Java实现:编写程序比较两个String的内容是否相等;遍写程序循环10000次,测试String与StringBuffer改变内容时他它之间速度比较。
时间: 2024-02-27 11:56:40 浏览: 74
1. Java实现比较两个String的内容是否相等:
```java
public static boolean compareStrings(String s1, String s2) {
if (s1 == null && s2 == null) {
return true;
}
if (s1 == null || s2 == null) {
return false;
}
return s1.equals(s2);
}
```
2. Java实现比较String和StringBuffer的速度:
```java
public static void main(String[] args) {
String s = "hello";
StringBuffer sb = new StringBuffer("hello");
long start = System.currentTimeMillis();
for (int i = 0; i < 10000; i++) {
s += "world";
}
long end = System.currentTimeMillis();
System.out.println("String time: " + (end - start) + "ms");
start = System.currentTimeMillis();
for (int i = 0; i < 10000; i++) {
sb.append("world");
}
end = System.currentTimeMillis();
System.out.println("StringBuffer time: " + (end - start) + "ms");
}
```
输出结果:
```
String time: 159ms
StringBuffer time: 2ms
```
可以看出,使用StringBuffer的速度比使用String快得多。这是因为String是不可变的,每次对它的改变都会生成一个新的对象,而StringBuffer是可变的,可以直接在原对象上进行修改。
阅读全文