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));;
小二寄语:感谢每一个看完这篇文章的人。希望我们可以在奋斗的路上砥砺前行!