String subString方法

package 字符串2;

public class TestString {

public static void main(String[] args) {   String str = "Returns a new character sequence that is a subsequence of this sequence";      int count = 0;   int index = 0;   String strTofind = "sequence";   while((index = str.indexOf(strTofind))!=-1){    count++;    str = str.substring(index+strTofind.length());   }      System.out.println("str字符串中所含的sequence子串的个数:"+count);  }

}

时间: 2024-10-14 07:13:46

String subString方法的相关文章

String.IndexOf String.IndexOf String.Substring

String.IndexOf String.IndexOf 方法 (Char, Int32, Int32)报告指定字符在此实例中的第一个匹配项的索引.搜索从指定字符位置开始,并检查指定数量的字符位置.String.IndexOf(value, startIndex, count) 参数value:要查找的 Unicode 字符. startIndex:搜索起始位置. count:要检查的字符位置数.返回值(Int32):如果找到该字符,则为 value 的索引位置:否则如果未找到,则为 -1.

String中substring方法内存泄漏问题

众所周知,JDK中以前String类中的substring方法存在内存泄漏问题,之所以说是以前,是因为JDK1.7及以后的版本已经修复了,我看都说JDK1.6的版本也存在这个问题,但是我本机上安装的1.6看了看源码不存在内存泄漏问题啊,又看了1.7的源码,和我本机的1.6的一样,是不是我的1.6版版其实是1.7的?!唉,不管了,反正1.7版本肯定没有这个问题(1.5及更老版本肯定有)了,大家就放心的用吧. 之所以存在内存泄漏的问题,是因为原先的版本中,substring是这样实现的: publi

String类的substring方法bug

今天再看JDK源码的时候看到了String类的不同版本的实现方式的不同,主要是substring这个方法,JDK6里面的实现方式是: 很明显可以看到,调用String对象的substring方法后指向的对象地址并没有发生改变,只是改变的是偏移量,这样的话在GC阶段就有可能造成内存泄露了. 还好查了一下资料JDK7解决了这个问题,于是赶紧查看了JDK7的源码: 这个里面是通过内存复制的方式重新指向了一个新的地址,解决了内存泄露的隐患

JDK6和JDK7中String类下的substring方法的代码对比(仅贴代码,未详述)

返回主页 回到顶端 jdk1.6版本String.java文件中关于substring的代码及描述 1 /** 2 * Returns a new string that is a substring of this string. The 3 * substring begins with the character at the specified index and 4 * extends to the end of this string. <p> 5 * Examples: 6 *

Java的String中的subString()方法

public String substring(int beginIndex, int endIndex) 第一个int为开始的索引,对应String数字中的开始位置, 第二个是截止的索引位置,对应String中的结束位置 1.取得的字符串长度为:endIndex - beginIndex; 2.从beginIndex开始取,到endIndex结束,从0开始数,其中不包括endIndex位置的字符 如: "hamburger".substring(4, 8) returns "

String类的substring方法

下列程序的输出是什么? class A { public static void main(String[] a) {     String v = “base”;      v.concat(“ball”);     v.substring(1,5);       System.out.println(v);  } } 分析:由于String是不可变的,当执行v.concat("ball")时,v本身还是指向“base”,当再执行v.substring(1,5)时,会报出界异常 如下

String类的substring()方法

截取字符串,在java语言中的用法 1.  public String substring(int beginIndex) 返回一个新字符串,它是此字符串的一个子字符串.该子字符串始于指定索引处的字符,一直到此字符串末尾. 参数:beginIndex - 开始处的索引(包括), 返回:指定的子字符串, 异常:如果 beginIndex 为负或大于此 String 对象的长度,则抛出IndexOutOfBoundsException 例  :"unhappy".substring(2)

LINQ体验(11)——LINQ to SQL语句之Null语义和String/DateTime方法

在本系列中.主要介绍LINQ to SQL基础的东西,由于LINQ太强大了,它对我们寻常使用不同的数据源有着不同的内容,其包含对于SQL Server 数据库的LINQ to SQL:对于XML 文档的LINQ to XML.对于 ADO.NET 数据集的LINQ to DataSet.对于.NET 集合.文件.字符串等的LINQ to Objects.例外也出现了一些对LINQ支持的开源项目,比如LINQ to JSON,LINQ for NHibernate等等. 在这个系列中,一些关于LI

菜鸟译文(三)——JDK6和JDK7中substring()方法的对比

substring(int beginIndex, int endIndex)方法在JDK6和JDK7中是不同的.了解他们的区别可以让我们更好的使用这个方法.方便起见,以下用substring() 代替 substring(int beginIndex, int endIndex). 1. substring()做了什么? substring(int beginIndex, int endIndex)方法返回一个以beginIndex开头,以endIndex-1结尾的String对象. Stri