java substring实现_Java中substring()工作原理
时间: 2023-09-24 21:02:47 浏览: 44
Java中的substring()方法是用于从一个字符串中获取一个子字符串,其工作原理如下:
1. 首先,确定要获取的子字符串的起始索引和结束索引。起始索引是包含在子字符串中的第一个字符的索引,而结束索引是不包含在子字符串中的第一个字符的索引。
2. 然后,从字符串中复制字符到新的字符串中,直到达到结束索引。这将创建一个新的字符串,其中包含原始字符串的子字符串。
3. 最后,返回新的子字符串。
例如,如果我们有一个字符串"Hello World",并且我们要获取从索引6开始的子字符串,我们可以使用以下代码:
```
String str = "Hello World";
String subStr = str.substring(6);
```
这将得到子字符串"World",因为从索引6开始的字符是"W",并且substring()方法默认将结束索引设置为字符串的末尾。
相关问题
java中substring用法_java中substring的用法
在Java中,substring()方法用于从一个字符串中获取子字符串。它有两种重载形式:
1. substring(int beginIndex):从指定的开始索引处开始,返回一个新的字符串,该字符串是原始字符串的子字符串。
2. substring(int beginIndex, int endIndex):从指定的开始索引处开始,返回一个新的字符串,该字符串是原始字符串的一部分,从开始索引到结束索引。
下面是一些示例代码:
```java
String str = "Hello, world!";
// 从索引6开始截取到字符串的末尾
String substr1 = str.substring(6);
System.out.println(substr1); // 输出: world!
// 从索引0开始截取到索引5(不包括5)的子字符串
String substr2 = str.substring(0, 5);
System.out.println(substr2); // 输出: Hello
```
需要注意的是,如果指定的开始索引或结束索引超出了字符串的长度,substring()方法会抛出一个StringIndexOutOfBoundsException异常。
java.substr_Java语言中substr和substring的区别
在Java语言中,substr和substring都是用于截取字符串的方法,但它们有一些区别。
1. substr方法
substr方法是在早期版本的Java中引入的,它的语法如下:
```
public String substr(int startIndex, int length)
```
其中,startIndex表示要截取的起始位置,length表示要截取的长度。例如:
```
String str = "Hello World";
String substr = str.substr(6, 5); // 截取 "World"
```
需要注意的是,startIndex是从0开始计数的,而不是从1开始。如果startIndex为负数,则会从字符串末尾开始计算。
2. substring方法
substring方法是在JDK 1.0中引入的,它的语法如下:
```
public String substring(int beginIndex)
public String substring(int beginIndex, int endIndex)
```
其中,beginIndex表示要截取的起始位置,endIndex表示要截取的结束位置(不包括该位置的字符)。例如:
```
String str = "Hello World";
String substr1 = str.substring(6); // 截取 "World"
String substr2 = str.substring(0, 5); // 截取 "Hello"
```
需要注意的是,beginIndex是从0开始计数的,而endIndex是从1开始计数的。如果beginIndex为负数,则会从字符串末尾开始计算。
另外,如果endIndex超出了字符串的长度,substring方法会自动将它截取到字符串的末尾。
综上所述,substr方法已经被substring方法所取代,因为substring方法更加灵活和易用。建议在开发中使用substring方法。