吉林省网站建设公司,wordpress页面背景,wordpress是用什么语言,服务公司取名最好的名字一.常用方法
#x1f94f;1.字符串构造
字符串构造有三种方法#xff1a; #x1f4cc;注意#xff1a;
1. String是引用类型#xff0c;内部并不存储字符串本身
如果String是一个引用那么s1和s3应该指向同一个内容#xff0c;s1和s2是相等的#xff0c;应该输出两…一.常用方法
1.字符串构造
字符串构造有三种方法 注意
1. String是引用类型内部并不存储字符串本身
如果String是一个引用那么s1和s3应该指向同一个内容s1和s2是相等的应该输出两个hello world,但是如果不是一个引用应该还会再输出一个hello world 2. 在Java中引起来的也是String类型对象。 2.字符串的比较
1. 比较 注意 对于内置类型基本数据类型比较的是变量中的值 对于引用类型比较的是引用中的地址。 在这张图中我们已经实现的引用比较
而这时我们发现s1 和 s2 的值是相等的那么对于字符串来说我们是否能够按内容来比较呢下面我们就来看一看吧
2.equals()比较
比较方法按照字典序比较字符大小的顺序
我们发现我们的的确确的打印了hello world。 但是在之前我们其实也使用过equals方法去比较其他的对象但是如果我们想要去比较内容我们必须重写equals方法 否则比较的结果就是不相等的。 但是为什么我们并没有重写equals方法就去比较字符串却能得到相等 这是因为String默认重写了equals方法 3.compareTo()比较
比较方法按照字典序比较
注意与equals不同的是equals返回的是boolean类型而compareTo返回的是int类型。 先按照字典次序大小比较如果出现不等的字符直接返回这两个字符的大小差值 如果前k个字符相等(k为两个字符长度最小值)返回值两个字符串长度差值 4.compareToIgnoreCase()比较
这个方法和compareTo方法并没有什么区别compareToIgnoreCase方法只是在compareTo方法的基础上忽略大小写。 3.字符串查找
1.charAtint index方法 功能 返回index位置上字符如果index为负数或者越界抛出 IndexOutOfBoundsException异常 2.indexOf()方法
indexOf(int ch)方法 功能 返回ch第一次出现的位置没有返回-1 indexOf(int ch, int fromIndex)方法 功能从fromIndex位置开始找ch第一次出现的位置没有返回-1 indexOf(String str)方法 功能返回str第一次出现的位置没有返回-1 indexOf(String str, int fromIndex)方法 功能从fromIndex位置开始找str第一次出现的位置没有返回-1 lastIndexOf(int ch)方法 功能从后往前找返回ch第一次出现的位置没有返回-1 lastIndexOf(int ch, int fromIndex) 功能从fromIndex位置开始找从后往前找ch第一次出现的位置没有返 回-1 lastIndexOf(String str) 功能从后往前找返回str第一次出现的位置没有返回-1 lastIndexOf(String str, int fromIndex 功能从fromIndex位置开始找从后往前找str第一次出现的位置没有返回-1 4.转化
1.数值和字符串转化 数值转换成字符串 将字符串转换成数值 2.大小写转换 3.字符串转数组
字符串和字符数组转换 字符串和字节数组转换 4.格式化 5. 字符串替换
1.replace
将oldChar字符替换成newChar字符 2.replaceFirst
将首个旧字符串替换成新字符串 3.replaceAll
将所有旧字符串替换成新字符串 注意事项: 由于字符串是不可变对象, 替换不修改当前字符串, 而是产生一个新的字符串
6.字符串拆分
我们利用split可以将一个完整的字符串按照指定的分隔符划分为若干个子字符串。
String[] split(String regex) 功能将字符串全部拆分 String[] split(String regex, int limit) 功能将字符串以指定的格式拆分为limit组 注意事项:
1. 如果以字符|,*,都得加上转义字符前面加上\\.
如果不使用转义字符就会发生错误 使用转义字符后 2. 而如果是\那么就得写成\\\\.
对于\,使用转义字符时需要用到\\\:三个\ 3. 如果一个字符串中有多个分隔符可以用|作为连字符. 7.字符串截取
我们可以使substring方法从一个完整的字符串之中截取出一部分内容
1.substring(int beginIndex)方法 功能从指定索引截取到结尾 2.substring(int beginIndex, int endIndex) 方法 功能截取部分内容左闭右开 8.删除字符串左右空白字符(空格, 换行, 制表符等)
1.trim()方法 9. 字符串的不可变性
String是一种不可变对象. 字符串中的内容是不可改变。字符串不可被修改是因为
1. String类在设计时就是不可改变的String类实现描述中已经说明了 注意String类中的字符实际保存在内部维护的value字符数组中被final修饰
我们现在看这段代码arr数组同样被final修饰但是我们还是能修改他的值这就不符合他的不可变性了
那么这就代表了value被final修饰表明value自身的值不能改变即不能引用其它字符数组但是其引用空间中的内容可以修改。 所以说所有涉及到可能修改字符串内容的操作都是创建一个新对象改变的是新对象
10.字符串修改
如果我们想要在原字符串上进行添加我们该怎么办呢来看下面的这段代码 我们发现成功的在原字符串上添加了字符串 world,但是这样的效率其实是非常低下我们应该尽量避免直接对String类型对象进行修改因为String类是不能修改的所有的修改都会创建新对象
那么我们该怎么办呢这时就要用到我们的StringBuilder和StringBuffer。
二.StringBuilder和StringBuffer
由于String的不可更改特性为了方便字符串的修改Java中又提供StringBuilder和StringBuffer类。这两个类大部分功能是相同的这里介绍 StringBuilder常用的一些方法。 如果大家想要了解更多可以去这里了解Overview (Java Platform SE 8 ) 1. append(String str)
这就是我们刚才要说的添加的方法这个方法是用于在字符串的尾部添加相当于刚才看到的‘’下面就让我们来看一下他的使用吧 当然我们不是一定只能追加字符串我们还可以追加很多的类型可以追加boolean、char、char[]、 double、float、int、long、Object、String、StringBuff的变量 。
2.insert(int offset, String str) 功能在指定位置插入 他所插入的类型跟append方法是一样的 boolean、char、char[]、 double、float、int、long、Object、String、StringBuff的变量 。
3.删除字符
deleteCharAt(int index) 功能删除指定位置字符 delete(int start, int end) 功能删除指定范围的字符左闭右开 4.replace(int start, int end, String str) 功能 见某位置到某位置的字符串替换左闭右开 5.reverse() 功能 反转字符串 除此之外还有一些需要注意的事项 String和StringBuilder类不能直接转换。如果要想互相转换可以采用如下原则: String变为StringBuilder: 利用StringBuilder的构造方法或append()方法 StringBuilder变为String: 调用toString()方法。 好了今天的内容就分享到这里了我们下一篇见 记得点赞收藏加关注