用java写一个String类
时间: 2023-06-11 07:05:18 浏览: 126
编写一个String类 代码
好的,下面是用 Java 写一个最基本的 String 类的代码:
```
public class MyString {
private char[] value; // 存储字符串的字符数组
/**
* 构造方法,初始化字符数组
*/
public MyString(String str) {
value = new char[str.length()];
for (int i = 0; i < str.length(); i++) {
value[i] = str.charAt(i);
}
}
/**
* 获取字符串长度
*/
public int length() {
return value.length;
}
/**
* 获取指定下标位置的字符
*/
public char charAt(int index) {
return value[index];
}
/**
* 获取子字符串
*/
public MyString substring(int beginIndex, int endIndex) {
char[] subArray = new char[endIndex - beginIndex];
for (int i = beginIndex; i < endIndex; i++) {
subArray[i - beginIndex] = value[i];
}
return new MyString(new String(subArray));
}
/**
* 判断字符串是否相等
*/
public boolean equals(MyString anotherString) {
if (value.length != anotherString.length()) {
return false;
}
for (int i = 0; i < value.length; i++) {
if (value[i] != anotherString.charAt(i)) {
return false;
}
}
return true;
}
/**
* 将字符串转换为字符数组
*/
public char[] toCharArray() {
return value;
}
/**
* 将字符串转换为小写形式
*/
public MyString toLowerCase() {
char[] lowerArray = new char[value.length];
for (int i = 0; i < value.length; i++) {
lowerArray[i] = Character.toLowerCase(value[i]);
}
return new MyString(new String(lowerArray));
}
/**
* 将字符串转换为大写形式
*/
public MyString toUpperCase() {
char[] upperArray = new char[value.length];
for (int i = 0; i < value.length; i++) {
upperArray[i] = Character.toUpperCase(value[i]);
}
return new MyString(new String(upperArray));
}
/**
* 返回字符串的副本
*/
public MyString clone() {
return new MyString(new String(value));
}
/**
* 将另一个字符串链接到当前字符串末尾
*/
public MyString concat(MyString str) {
char[] concatArray = new char[value.length + str.length()];
for (int i = 0; i < value.length; i++) {
concatArray[i] = value[i];
}
for (int i = 0; i < str.length(); i++) {
concatArray[value.length + i] = str.charAt(i);
}
return new MyString(new String(concatArray));
}
/**
* 返回字符串中第一次出现指定字符的下标
*/
public int indexOf(char ch) {
for (int i = 0; i < value.length; i++) {
if (value[i] == ch) {
return i;
}
}
return -1;
}
/**
* 返回字符串中最后一次出现指定字符的下标
*/
public int lastIndexOf(char ch) {
for (int i = value.length - 1; i >= 0; i--) {
if (value[i] == ch) {
return i;
}
}
return -1;
}
}
```
以上代码实现了一个简单的 String 类,并提供了一些常用的字符串操作方法,包括长度、获取字符、获取子字符串、比较、转换大小写、复制、拼接、查找等操作。实际上 Java 中已经有一个内置的 String 类,所以这里只是为了演示自己编写一个类的过程。
阅读全文