String的compareTo其实就是依次比较两个字符串ASC码。如果两个字符的ASC码相等则继续后续比较,否则直接返回两个ASC的差值。如果两个字符串完全一样,则返回0。来看一下代码。
我们可以很方便的计算吃两个字符串的comperTo的值:
"abcd".compareTo("adef")== -2
"abc".compareTo("abcdef")== -3
"abc".compareTo("abc") == 0
但一直在想着compareTo可以用于实际中什么应用呢??我这里例举使用compareTo进行简单 字符串的排序。(例如使用compareTo 进行姓名的排序)
Java代码
- //需要进行排序的字符串
- String[] array = new String[] { "lilei", "libai", "james", "poly",
- "wobfei" };
- //使用简单的循环排序
- for (int i = 0; i < array.length - 1; i++) {
- for (int j = i + 1; j < array.length; j++) {
- if (array[i].compareTo(array[j]) > 0) {
- String temp = array[i];
- array[i] = array[j];
- array[j] = temp;
- }
- }
- }
//需要进行排序的字符串String[] array = new String[] { "lilei", "libai", "james", "poly", "wobfei" };//使用简单的循环排序 for (int i = 0; i < array.length - 1; i++) { for (int j = i + 1; j < array.length; j++) { if (array[i].compareTo(array[j]) > 0) { String temp = array[i]; array[i] = array[j]; array[j] = temp; } } }
使用上面针对String的排序以后,字符串的内容将会是:
james libai lilei poly wobfei