企业网站开发价格,免费静态网页源码,南京网站建设 w,学什么可以做网站一.String创建的两种形式
1.通过new的当时
String strnew String();
2.不new的方式
String s1;
二.new 和不new的方式的区别是什么
不new创建的字符串首先是拿着值去常量池中查找#xff0c;是否有该内容#xff0c;有就用常量池该字符串的地址#xff0…一.String创建的两种形式
1.通过new的当时
String strnew String();
2.不new的方式
String s1;
二.new 和不new的方式的区别是什么
不new创建的字符串首先是拿着值去常量池中查找是否有该内容有就用常量池该字符串的地址没有的话在常量池中创建并使用
new的方式创建的字符串首先在堆中创建并赋予字符串值然后到常量池中查找如果有就不做任何处理如果没有就在常量池中开辟该字符串
三.String和Stirng Buffer、String Builder的区别
底层他们都是利用char[]数组开辟空间
关于字符串追加问题 String 需要追加元素 肯定五步走 1 开辟新的数组空间 2 老元素复制到新的空间中 3 改变数组对象存储的地址 4 回收老数组空间 5 给最后的空间赋值【追加】 StringBuffer/StringBuilder 底层开辟的空间个数等于字符串的长度16缓冲区
StringBuffer/StringBuilder 追加元素 直接先存储到缓冲区中 追加连接效率高
四.StringBuffer和StringBuilder之间的区别 StringBuffer 同一时间允许一个线程进行访问 效率较低 但是不会产生并发问题 StringBuilder 同一时间允许多个线程进行访问 效率较高 但是可能产生并发问题 五.String中常用的20个方法 跟长度相关 1个 int类型的 length() : 返回字符串的长度[字符的个数] 和密码校验有关 跟数组相关 3个 byte[]返回类型 1. getBytes() : byte[] getBytes() : 使用自己电脑的默认字符集【编码】将此 String 编码为 byte 序列。 ascii 一个字母 - 一个字节 / 一个汉字 - 两个字节 unicode 一个字母 - 两个字节 / 一个汉字 - 两个字节 【 char 】 char[]类型的
2.toCharArray() char[] toCharArray() : 打碎字符串 放入一个 char[] char[] 的大小 字符串的长度 String[]类型的
3.split(String x): String[] split(String x) : 按照指定的内容劈开字符串 打碎 String[] split() hello.split() [][][h] [e] [l] [l] [o] 如果要劈开的内容 x 在最开始出现一次 最前面多留一块空间 空间的内容是 【空串】 如果要劈开的内容 x 在最后始出现一次 最后不会多留空间 如果要劈开的内容 x 在中间连续出现两次 中间多留一块空间 空间的内容是 【空串】 注意
利用split也能打碎字符串 为String 双引号类型””而toCharArray 是单引号的char类型
和判断相关5个
1. boolean equals(String)
判断调用者和参数是否内容一样[精准匹配]
应用场景密码精准匹配
2 boolean equalsIgnoreCase(String)
忽略大小写的比较
3 boolean contains(String s);
调用者字符串中是否包含s
参数字符串s在调用者中连续存在 并且参数字符串的长度要小于等于调用者字符串的长度
4 startsWith(String):
是否以指定内容开头
5 endsWith(String);
是否指定内容结尾
与改变内容相关【接收】4个
1 toUpperCase();
将所有内容 字母变成大写
2 toLowerCase();
将所有内容 字母变成小写
3 String replace(String x,String y);
将所有的x 替换成y
4 String replaceAll(String regx,String y);
第一个可以传入正则表达式 --范围 []---》表示某一个位置的范围 [a-z] 小写字母 [A-Z] [a-zA-Z] 所有字母 [\u4e00-\u9fa5] 所有中文范围 S1s1.replaceAll(“[a-zA-Z]”,”*”);//表示 是字母就替换成* 和下标有关的3个
1 charAt();
定位到每一个字符 charAt(int Index);返回的char类型 范围【0,str.length()-1】
2 indexOf(String str) 判断参数内容第一次出现的内容 没找到返回-1
3 lastIndexOf(String);
返回参数内容所在的位置【最后一次】
2和3 来判断 当前内容只出现一次
Boolean matches(String regx); 这个很牛的
正则表达式 正则表达式 [A-Z] 大写 [a-z] 小写 [0-9] 数字 \\d [\u4e00-\u9fa5] 中文 [a-z]{1} [a-z] 校验一位 [a-z]{3} [a-z] 校验长度是3 每一个字符必须是a-z [a-z]{3,5} [a-z] 校验长度[3-5] 每一个字符必须是a-z [a-z]{3,} [a-z] 校验长度3 每一个字符必须是a-z