Java基础——字符串

简介: 一些简单的字符串知识

Java没有内置的字符串类型,而是在标准Java类库中提供了一个预定义类,叫做String.

字串

从字符串截取一段就是该字符串的字串

String类的substring方法可以从一个较大的字符串中提取一个字串。例如:

String str = "hello";
String s = str.substring(0, 3);
// s == "hel"
// 第一个参数是字串开始的位置
// 第二个参数是字串结束的下一个位置

拼接

Java语言允许使用+号连接两个字符串;

String str1 = "hello";
String str2 = "world";
String str3 = str1 + str2;    // "helloworld";

除了两个字符串之外,一个字符串与一个非字符串的值进行拼接时,后者会转换成字符串

不可变字符串

String类中没有提供修改字符串中某个字符的方法,它的对象在创建后不能被更改。

""方式给出的字符串对象,在字符串常量池中存储,而且相同的内容只会存储一份

通过构造器new对象,每new一次都会产生一个新对象,放在堆内存中。

String是不可变字符串的原因

String变量每次的修改其实都是产生并指向了新的字符串对象,而原来的字符串对象都是没有发生任何改变的,所以称为不可变字符串

检测字符串是否相等

可以使用equals方法检测两个字符串是否相等。

对于表达式s.equals(t),如果字符串s和字符串t相等,返回true,否则返回false。s和t可以是字符串变量,也可以是字符串字面量。

想要检测字符串是否相当,而不区分大小写,可以使用equalsIgnoreCase方法。

不能使用 ==运算符检测两个字符串是否相等。这个运算符只能够确定两个字符串是否存放在同一位置。

==只能判断基本数据类型是否相等,而对于引用数据类型只能判断是否放在同一位置。

String API

  • char charAt(int index),返回给定位置的代码单元
  • boolean equals(Object other),如果字符串与other相等,返回true
  • int length(),返回字符串长度
  • String substring(int beginIndex, int endIndex),返回一个新子串,从beginIndex开始到endIndex-1结束
目录
相关文章
|
15天前
|
Java
Java 字符串分割split空字符串丢失解决方案
Java 字符串分割split空字符串丢失解决方案
|
1月前
|
算法 Java 程序员
Java检查字符串是否为回文
Java检查字符串是否为回文
|
1月前
|
存储 Java 程序员
记一次synchronized锁字符串引发的坑兼再谈Java字符串
记一次synchronized锁字符串引发的坑兼再谈Java字符串
21 2
|
1月前
|
存储 Java
JAVA字符串与其他类型数据的转换
JAVA字符串与其他类型数据的转换
27 4
|
16天前
|
Java
Java练习题-键盘录入字符串实现大小写转换
Java练习题-键盘录入字符串实现大小写转换
20 2
|
18天前
|
存储 安全 Java
Java中实现高效的字符串拼接技术
【4月更文挑战第6天】在Java编程中,字符串拼接是一个常见的操作。然而,由于字符串的不可变性,频繁的拼接操作可能会导致性能问题。本文将探讨Java中实现高效字符串拼接的技术,包括使用StringBuilder类、StringBuffer类以及Java 8中的StringJoiner类。通过对比这些技术的优缺点,我们将为您提供在不同场景下选择合适的字符串拼接方法的建议。
|
25天前
|
Java
java 8 数组转字符串并以逗号分隔
java 8 数组转字符串并以逗号分隔
11 0
|
1月前
|
SQL Java
使用java中的String类操作复杂的字符串
使用java中的String类操作复杂的字符串
9 0
|
1月前
|
Java
使用java将字符串写入到指定的文件中
使用java将字符串写入到指定的文件中
11 0