String类的相关用法
来源:互联网 发布:淘宝买手机售后保修 编辑:程序博客网 时间:2024/05/22 14:23
==符号的使用
String t1 = "qwertyui"; String t2 = new String("zxcvbn"); String t3 = new String("zxcvbn"); System.out.println(t1); System.out.println(t2); System.out.println(t3); if (t2 == t3) { // 引用类型 == 比较的是保存的地址 // 基本类型 == 比较的是值 // 都是比较栈上保存的内容 System.out.println("t2相等t3"); }
String对象的内存分配
public static void main(String[] args) { String t1 = "ABCDEFG"; // 字符串是一种特殊的数据类型,它的值不在栈和堆上 // 存储在方法区的字符串常量池里 // 1.去字符串常量池中查找是否有常量ABCDEFG // 如果有,直接把地址赋值给变量保存 // 如果没有,先创建常量,再赋值给变量保存 String t4 = "ABCDEFG"; if (t1 == t4) { System.out.println(t1 == t4); } String t2 = new String("ABCDEFG"); // 1.堆上开辟内存 0x001 // 2.0x001中分配出一块区域保存0x003 // String t3 = new String("ABCDEFG"); // 1.堆上开辟内存 0x002 // 2.0x002中分配出一块区域保存0x003 // 字符串比较禁止使用 == 必须使用equals方法\ // == 比较的是地址 equals比较的是值 // 字符串一般是比较内容 所以用equals if (t2 != t3) { System.out.println("t2 和t3的地址不相等"); } if (t2.equals(t3)) { System.out.println("t2和t3的值相等"); } // 会创建几个对象?2个 // 1.常量池开辟空间保存123456 // 2.堆上开辟空间指向常量池中的123456 String text = new String("123456"); }
String对象的连接
String t1 = "123456"; // 使用引用类型 变量 用的是保存的地址 找到数据 String t2 = new String(t1);// new String("123456"); System.out.println(t2); System.out.println(t1==t2);
public static void main(String[] args) { String t1 = "ab"; String t2 = "cd"; String t3 = "abcd"; String t4 = "ab" + "cd"; // 编译时会优化成为abcd // 每次使用+号连接字符串时都创建了一个新的对象 String t5 = t1 + t2;// = new string("abcd"); 分配到堆上 System.out.println("t3 == t4:" + (t3 == t4)); System.out.println("t3 == t5:" + (t3 == t5)); String t6 = t1 + t2 + t3 + t4;// 会产生3个对象 // StringBuffer // StringBuilder StringBuilder s1 = new StringBuilder(); // 追加一个字符串 s1.append(t1); s1.append(t2); s1.append(t3); s1.append(t4); // 追加新内容 String s7 = s1.toString(); // 把StringBuilder 转换为String StringBuffer s2 = new StringBuffer(); // 追加一个字符串 s2.append(t1); // 追加新内容 s2.append(t2); s2.append(t3); s2.append(t4); String t8 = s2.toString(); // 把StringBuffer 转换为String System.out.println(s7 + t8); }
String相关方法的使用
import java.util.Arrays;public class StringTest4 { public static void main(String[] args) { String t1 = "abcd你好"; // 长度 = 字符个数 System.out.println("获取字符串的长度:" + t1.length()); // 大小写不一致也是不同的 System.out.println("比较两个字符串是否相同:" + t1.equals("abcd")); // 忽略大小写 System.out.println("比较两个字符串是否相同(忽略大小写):" + t1.equalsIgnoreCase("abcd你好")); // 如果是拿字符串和对象比较,通常会使用字符串去掉用equals方法 String password = "123456"; // 推荐字符串在前,对象在后 防止出现password = null 的情况 导致程序崩溃 boolean f1 = "123456".equals(password); // null对象调用任何属性和方法都会产生NullPointerException // password = null // boolean f2 = password.equals("123456"); // 程序崩溃 System.out.println("是否以XXX开始:" + t1.startsWith("abcd")); System.out.println("是否以XXX结束:" + t1.endsWith("你好")); System.out.println("是否包含字符串abc:" + t1.contains("abc")); String t2 = t1.concat("1234"); // + 123 System.out.println(t2); // 从第几个字符串开始剪切 下标从0开始 String t3 = t1.substring(2); System.out.println(t3); // 包含起点 不包含终点 String t4 = t1.substring(1, 3); System.out.println(t4); // 替换指定的字符 String t5 = t1.replace('a', 'F'); System.out.println(t5); // 去掉前后的 不去掉中间的 String t6 = " 杀死对方 sadf sdfasd发第三方 ".trim(); System.out.println(t6); // 去除全部的空格 String t7 = " asdf的 刚发的 入骨髓的 ".replaceAll(" ", ""); System.out.println(t7); // 获取指定位置的字符 char c = t1.charAt(2); System.out.println(c); // 获得字符串的char数组 char[] cs = t1.toCharArray(); System.out.println(Arrays.toString(cs)); // 某个字符串的索引 ---- 第一个字符在元字符串的索引(如果包含) // 包含多个 返回第一次出现的第一个字符的索引 int i = t1.indexOf("bc"); // 不包含返回-1 int j = t1.indexOf("000"); // 最后一次出现该字符串的首字符的索引 // 不包含返回-1 t1.lastIndexOf("nm"); // 切换大写 String t8 = t1.toUpperCase(); // 切换小写 String t9 = t8.toLowerCase(); System.out.println(t8); System.out.println(t9); // 将char[] 转换为字符串 char[] cs2 = {'c','f','r','g','1','2','6'}; String t10 = new String(cs2); System.out.println(t10); // 从索引为2开始连着的3个字符拼接为字符串 String t11 = new String(cs2, 2, 3); System.out.println(t11); // 按照特殊标记分割字符 得到字符串数组 String t12 = "1,2,3,4,5,6"; String[] s3 = t12.split(","); System.out.println(Arrays.toString(s3)); }}
阅读全文
1 0
- String类的相关用法
- string 的相关用法
- string 的相关用法
- java FinalClass String 相关的用法
- string中成员函数的相关用法
- String 类的用法
- String类的用法
- String类的用法
- String 类的用法
- String类的用法
- string类的用法
- String类的相关应用
- String类型的相关类
- Java 之 String 的用法及相关注意(网摘)
- C++ String的一些用法和相关例子
- C++ string类的用法
- string类的用法总结
- C++ string类的用法
- python实现将将输入的可约分数化简为不可约分数
- 查看处理器是否支持64位系统
- android开发 自定义View实现TextView文本间距
- 计算一个整数二进制位中1的个数
- linux更换内核
- String类的相关用法
- CS231n课程笔记翻译:Python Numpy教程
- 字符串必须包含大写字母,小写字母和数字
- linux配置软raid/故障模拟
- 使用ffmpeg将mp4文件中的h264码流转为raw h264文件格式或ts文件格式
- const放在函数前后的区别
- React总结11:ref的用法
- docker部署集群服务
- 线程安全总结(一)