java 字符串操作,求字符串包含的次数

java 中求字符串包含某个字符串的次数.
如 abcdefabcdef 为一个字符串 希望获得包含abcd的次数. 比如这个就是两次.

你用split 截取 然后返回数组大小 就是出现次数 ?这样可以不?
String str="abcdefghiabcdadfabcd"
System.out.println(str.split("abcd").length);

用正则看看最后match了多少个

public static int count(String text,String sub){
    //自己做下非空判断
    int count =0, start =0;
    while((start=text.indexOf(sub,start))>=0){
        start += sub.length();
        count ++;
    }
    return count;
}
public static void main(String[] args){
    String text ="abcdefabcdef";
    String sub ="abc";
    System.out.println(count(text,sub));
}