在溧水做新店推广那家网站好郴州专业seo

当前位置: 首页 > news >正文

在溧水做新店推广那家网站好,郴州专业seo,怎么做快法务类似网站,室内设计网站大全网前言 本篇会细致讲解String类的常见用法#xff0c;让小伙伴们搞定String类~ 欢迎关注个人主页#xff1a;逸狼 创造不易#xff0c;可以点点赞吗~ 如有错误#xff0c;欢迎指出~ 目录 前言 常用的三种字符串构造 字符串长度length 字符串比较 比较 比较字符串的内容equals…前言 本篇会细致讲解String类的常见用法让小伙伴们搞定String类~ 欢迎关注个人主页逸狼 创造不易可以点点赞吗~ 如有错误欢迎指出~ 目录 前言 常用的三种字符串构造 字符串长度length 字符串比较 比较 比较字符串的内容equals 忽略大小写比较equalsIgnoreCase 比较字符串大小compareTo 忽略大小写比较compareToIgnoreCase  获取字符串中某一个字符 通过字符获取下标indexOf 从指定位置开始找 从后的指定位置开始找lastIndexOf 转化 数值和字符串转化valueOf 字符串转数值parseInt和parseDouble  大小写转化toLowerCase和toUpperCase 将字符串转数组toCharArray 格式化format 字符串替换replace 替换字符串的第一个replaceFirst和整体替换replaceAll 字符串拆分split 多次拆分 字符串截取substring 去掉字符串左右两边的空格trim 字符串不可变性 字符串拼接 ​编辑 String、StringBuffer、StringBuilder的区别 常用的三种字符串构造 public static void main(String[] args) {//直接赋值的方法 定义字符串String str1abcdef;//简写形式String str2new String(hello Word!);//用字符数组 构造字符串char[]array{a,b,c};String str3new String(array);System.out.println(str1);System.out.println(str2);System.out.println(str3);} 结果 String是引用类型内部并不存储字符串本身 // s1和s2引用的是不同对象 s1和s3引用的是同一对象String s1 new String(hello);String s2 new String(world);String s3 s1; 字符串长度length .length用于求字符长度.isEmpty用于判断字符串是否为空 String str1abcdef;System.out.println(str1.length());//6String str2null;System.out.println(str2);//nullSystem.out.println(str1.length());//空指针异常String str3;System.out.println(str3.length());//0System.out.println(str3.isEmpty());//用于判断字符串是否为空 返回true或false 字符串比较 比较 注意 对于内置类型,   比较的是变量中的值对于引用类型,   比较的是引用中的地址。 下面代码结果是true还是false String str1abcdef;String str2abcdef;System.out.println(str1str2); 答案是true解释如下 只要是双引号引起来的字符串常量会存在一个字符串常量池中。 存储逻辑先检查内存字符串常量池中是否有这个字符串如果没有存进去如果有直接去现有对象的即可。 上面代码str1先存在了字符串常量池中str2不会在生成一个对象了而是直接指向str1同一个对象。 不同上一题下面代码结果是true还是false String str3new String(abcd);String str4new String(abcd);System.out.println(str3str4); 结果是false 因为这里是强制产生了两个不同的对象位于两个不同的空间所以str3和str4是两个不同的字符串结果是false 比较字符串的内容equals System.out.println(str1.equals(str2));System.out.println(str3.equals(str4));这里的结果两个都为trueequals比较的是两者的内容是否一致 忽略大小写比较equalsIgnoreCase System.out.println(str3.equalsIgnoreCase(str4));比较字符串大小compareTo 先按照字典次序大小比较如果出现不等的字符直接返回这两个字符的大小差值如果前k个字符相等(k为两个字符长度最小值)返回值两个字符串长度差值 String str1abcde;String str2edf;System.out.println(str1.compareTo(str2)); 忽略大小写比较compareToIgnoreCase System.out.println(str1.compareToIgnoreCase(str2));获取字符串中某一个字符 String str1abcde;char chstr1.charAt(2);System.out.println(ch); 通过字符获取下标indexOf int index str1.indexOf(d); System.out.println(index); 从指定位置开始找 int index str1.indexOf(a,2);//从2位置开始找a从后的指定位置开始找lastIndexOf String str3ababcabcd;int index3str3.lastIndexOf(a,4);System.out.println(index3);//2 转化 数值和字符串转化valueOf String s1String.valueOf(1234);String s2String.valueOf(12.34);String s3String.valueOf(true);System.out.println(s1);System.out.println(s2);System.out.println(s3); 字符串转数值parseInt和parseDouble  int data1Integer.parseInt(1234);//用类调用的方法说明parseInt是静态方法double data2Double.parseDouble(23.34);System.out.println(data16);System.out.println(data26); 查看parseInt源码他是被static修饰的 大小写转化toLowerCase和toUpperCase String str1ABCD;//大写转小写String str2str1.toLowerCase();//不是在原字符串本身进行修改str1并没有改变str2是产生的新的对象System.out.println(str1);System.out.println(str2);String str3str2.toUpperCase();//小写转大写System.out.println(str3); 结果如图   将字符串转数组toCharArray String str1ABCD;char[]arraystr1.toCharArray();System.out.println(Arrays.toString(array)); 结果如图 格式化format String sString.format(%d-%d-%d,2024,4,15);System.out.println(s); 字符串替换replace 有两种替换replace的重载 图中第一种是字符整体替换第二种是字符串整体替换 String str1abcdab;String retstr1.replace(a,z);String ret2str1.replace(ab,yiyi);System.out.println(ret);System.out.println(ret2); 结果 替换字符串的第一个replaceFirst和整体替换replaceAll //替换字符串的第一个String ret3str1.replaceFirst(ab,yiyi);System.out.println(ret3);//字符串的整体替换String ret4str1.replaceAll(ab,ttttt);System.out.println(ret4); 结果 字符串拆分split //字符串拆分String s1abctttthijk;String []str1s1.split(,2);//2表示最多分两组for (String s:str1) {System.out.println(s);} 结果 注意 字符|,*,都得加上转义字符前面加上 \ . 而如果是 \ 那么就得写成 \\ .如果一个字符串中有多个分隔符可以用|作为连字符. 代码示例 String s22024.4.15;String []str2s2.split(\.);String s3abcpppp*hhhh;String []str3s3.split(|\*);//用|表示将和分开有这两个分隔符用\表示转义 多次拆分 //多次拆分String strnamezhangsannamelisi;String[]stringsstr.split();for (String s:strings) {String []sss.split();for (String x:ss) {System.out.println(x);}} 结果 字符串截取substring //字符串截取String s1abcdrrrr;//从指定下标开始一直往下截取String s2s1.substring(1);System.out.println(s2);//截取目标下标下的字符串String s3s1.substring(2,5);//左闭右开[2,5System.out.println(s3); 去掉字符串左右两边的空格trim String s1 ab s c d f ;System.out.println(s1);String s2s1.trim();//去掉字符串左右两边的空格System.out.println(s2); 结果 字符串不可变性 字符串String类的源码中value的值被final修饰不能发生改变value指向不能发生改变但它指向的对象的内容是可以修改的 又因为value被private封装了源码中有没有get和set方法使得字符串具有不可变性。 例如下面代码中数组array被final修饰 final int[]arraynew int[]{1,3,4};arraynew int[]{1,3,6};//报错array[0]99;//可以修改 所以字符串实际上是不能被修改的。 尽量避免直接对String类型对象进行修改因为String类是不能修改的所有的修改都会创建新对象效率 非常低下。 字符串拼接 由于String的不可更改特性为了方便字符串的修改Java中又提供StringBuilder和StringBuffer类。这两个类大 部分功能是相同的。以下演示StringBuilder StringBuilde用于在原字符串上拼接字符串 StringBuilder stringBuildernew StringBuilder(abcd);stringBuilder.append(yyyyyyy); 结果 String和StringBuilder最大的区别在于String的内容无法修改而StringBuilder的内容可 以修改。频繁修改字符串的情况考虑使用StringBuilder。 String、StringBuffer、StringBuilder的区别 String的内容不可修改StringBuffer与StringBuilder的内容可以修改.StringBuffer与StringBuilder大部分功能是相似的StringBuffer采用同步处理属于线程安全操作而StringBuilder未采用同步处理属于线程不安全操 作。