Java字符串
java 字符串
本文将介绍java中有关字符串的相关操作
-
每次我们学习一个类的时候,可以看一下Java api.那里是他的源码实现;
-
通过看String的api我们可以发现:
- string类是final的,不可以被继承.public final class String。
- String类是的本质是字符数组char[], 并且其值不可改变。private final char value[];
- String类对象有个特殊的创建的方式,就是直接指定比如String x = "abc","abc"就表示一个字符串对象。而x是"abc"对象的地址,也叫做"abc"对象的引用。
- String对象可以通过“+”串联。串联后会生成新的字符串。也可以通过concat()来串联
-
常用的创建字符串的方式有:
- 使用new关键字创建字符串,比如String s1 = new String("abc");
- 直接创建赋值:比如String s2 = "abc";
- 使用串联生成新的字符串: 比如String s3 = "ab" + "c";
-
下边是用代码实现:
//字符串 string
String str = "Hello";
String str1 = "world";
//返回1号位置是哪个字符
System.out.println(str.charAt(1));//字符串是字符数组
System.out.println(str.compareTo(str1));
System.out.println(str.compareToIgnoreCase(str1));
String item = str.concat(str1); //字符串的拼接
System.out.println("拼接的结果=" + item);//是否包含某个值
System.out.println(str.contains("H"));
//以什么结尾
System.out.println(str.endsWith(".jpg"));
//两个字符串是否相等
System.out.println(str.equals(str1));
注意:字符串比较的时候不可以用 == ;
因为 == 只是在比较两个变量的地址是否相等;
所以我们要用equal方法来比较两个字符串
equal在比较的时候,会先比较地址是否相等,在比较类型,最后比较内容
-
字符串的拼接
String str3 = "Hello";
String str4 = "World";
String str5 = str3 + str4;
String str6 = "Hello" + "World";
System.out.println(str == str5); //不相等
System.out.println(str == str6); //相等 -
判断字符串是否为空
- boolean empty = str == null || "".equals(str);
-
其他操作 :
//返回字符串的字符数组
char[] arr = str.toCharArray();//转换成全大写
str = str.toUpperCase();
//转换成全小写
str = str.toLowerCase();//trim() 去掉收尾空格
String name1 = " sdfasdf ";
String name2 = "asdf";
System.out.println(name1.trim().equals(name2));//valueof(ob) 把基本数据类型转换成string类型
String age = String.valueOf(1);
//下边这种也是将基本数据类型转换成string类型的,
//因为string是大类型,所以直接加起来就可以;直接用string类型来接受;
String age1 = 1 +"";
//替换
//前边是原本的,后边是要更新为的
String temp = str.replace("H", "h");
System.out.println(temp);
String lyce = "葫芦娃\n葫芦娃\n一个藤上7个瓜";// split 分割
String[] names = lyce.split("\n");
System.out.println(Arrays.toString(names));// subString 切割
String name = "zhangsan";
// 2.开始的位置 5结束的位置
System.out.println(name.substring(2, 5));;

浙公网安备 33010602011771号