常用数据结构——String

String 在 Java 中属于对象,Java 提供 String 类来创建和操作字符串。

一、String基础

1. 创建字符串
// 相同引用
String s1 = "Runoob";              // String 直接创建
String s2 = "Runoob";              // String 直接创建
String s3 = s1;                    
// 不同引用
String s4 = new String("Runoob");   // String 对象创建
String s5 = new String("Runoob");   // String 对象创建
// String 创建的字符串存储在公共池中,而 new 创建的字符串对象在堆上

String 类有 11 种构造方法,这些方法提供不同的参数来初始化字符串,常用的如下:

(1)直接创建

String str1="hello";

(2)使用构造函数

String str2=new string(str1); // 传入字符串

(3)通过字符数组创建

char[] helloArray = { 'r', 'u', 'n', 'o', 'o', 'b'};
String helloString = new String(helloArray);

(4)通过 String.valueOf()从其他类型转换

String 类中提供,String.valueOf()将基本数据型态转换成 String 的 static 方法

int a = 97;
// 将int转换成 String 
String s1 = String.valueOf(a);
// String.valueOf(char[] c,int offset, int count);
char[] c =  { 'r', 'u', 'n', 'o', 'o', 'b'};
String s2 = String.valueOf(c,2, 3); // "noo"

(5)其他

/ 可以使用 Integer.parseInt() 或 Integer.valueOf() 将 String 转换为 int
int a = 97;
String s = Integer.toString(a);
String number = "-7";
int result = Integer.parseInt(number);  // 返回原始整数
Integer result2 = Integer.valueOf(number);  // 返回一个 Integer 对象
2. String 基本操作  

(1)length()获取字符串长度

String s = "String";
// length()获取字符串长度
int len = s.length();

(2)连接字符串concat()或+

string s = string1.concat(string2);
string ss = string1 + string2;

(3)替换字符串

返回一个新的字符串,它是通过用 newChar 替换此字符串中出现的所有 oldChar 得到

// String replace(char oldChar, char newChar)
string s = string2.replace("String", "java");

(4)String与char转换

//	char[] toCharArray()
// 将此字符串转换为一个新的字符数组。
char[] c1 = string1.toCharArray();
// 	char charAt(int index)
string1.charAt(0);  // 返回指定索引处的 char 值

(5)字符串比较

// int compareTo(Object o)
String str1 = "Strings";
String str2 = "Strings";
String str3 = "Strings123";
int result = str1.compareTo( str2 );  // 0
result = str2.compareTo( str3 );  //-3
// boolean equals()
boolean flag = str1.equals(str2); // true
flag = str2.equals(str3); // false
3. String 常用操作

(1)截取子字符串substring()

// substring(int beginIndex,int endIndex)
// beginIndex起始索引(包含),endIndex结束索引(不包含)
Sting s = "apple"
String ss = s.substring(1,3); //"pp"
String ss = s.substring(2); //"ple"
// 不指定endIndex,表示截取到目标字符串的末尾。

(2)分割字符串split()

str.split(" "); //以空格分割字符串
// 以碰到的每个空格、换行符、回车为分隔线,遇到连续多个空格、换行符、回车就会连续划分
str.split("\\s");
//以空格、换行符、回车为分隔线,相邻的多个空格、换行符、回车仍然视为只有一个
str.split("\\s+");

(3)字符串判断

// startsWith(String prefix, int toffset)
// prefix 前缀 toffset 字符串中开始查找的位置
str.startsWith(s); // 默认从首个字符开始
// endsWith(String suffix)
str.endsWith(s); 

  • 6
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值