package com.xiaonei.digui;
public class 匹配字符串 {
public static void main(String[] args) {
System.out.println(f(“abc”, ” “));
}
private static boolean f(String string, String string2) {
if (string.length() != string2.length())// 首先判断长度,长度不同,字符串肯定不相同
return false;
if (string.length() == 0)// 若其中一个为空串,则另一个必为空串,必相同
return true;
if (string.charAt(0) != string2.charAt(0))// 只负责比较第一个字符是否相同,若不同,两串必不同
return false;
return f(string.substring(1), string2.substring(1));//递归,每次减去第一个字符,直至为空,则相同
}
}
若没有if (string.length() == 0)的判断,则会出现StringIndexOutOfBoundsException异常,此判断相当于程序的出口,因为两个字符串长度最后一定会变为0。