我是靠谱客的博主 无奈火车,最近开发中收集的这篇文章主要介绍java-关于String类整理的补充,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

原文:
https://blog.csdn.net/w464960660/article/details/105233704/?ops_request_misc=&request_id=&biz_id=102&utm_source=distribute.pc_search_result.none-task-blog-2allsobaiduweb~default-5#5%E3%80%81%E5%AD%97%E7%AC%A6%E4%B8%B2%E6%88%AA%E5%8F%96

本文是我对原文的一些补充和笔记,共同组成我的JAVA-String类个人学习资料。

一.字符与字符串4个方法举例,他那个我觉得不太清晰

举例:

package First;

import java.util.*;

public class Main
{
	public static void main(String[] args)
	{
		String str = "hello";
		
		char[] data = str.toCharArray(); //从字符串分成字符数组.
		for (int x = 0; x < data.length; x++)
		{
			System.out.println(data[x]); 
		}
		
		String a=new String(data);    //从字符数组合并成字符串.
		System.out.println(a);
		
		String b=new String(data,1,3);//1是从data[1]开始,往后找3个,到data[3];
		System.out.println(b);
		
		System.out.println(str.charAt(1));//字符索引,这是索引字符串str的第2个字符.
		System.out.println(str.charAt(2));
		System.out.println(str.charAt(3));
	}
}

二.字节与字符串
这个暂时还没学到,估计很长一段时间都学不到,我倒是能看懂前三个,跟第一节的前三个差不多,第四个不太懂,以后遇到再补充吧(其实是因为懒,不想查,不想学 = - =!)

三.字符串比较

一.解释一下str1.compareTo(str2)这个方法

首先注意他的返回值是int型的。

1、字符串比较用compareTo()时:
①长度相同:从第一位开始比较,如果相同继续比较,如果不同则马上返回这两个字符的ascii值的差值。如果已经比较到最后一个字符了,那就返回0.
②长度不同:先从第一位开始比较,如果相同继续比较,如果不同则马上返回这两个字符的ascii值的差值,如果一个字符串已经比较到最后一个字符了,那就返回这两个字符串长度的差值
很像C++里的strcmp()函数。

2、Integer比较用a.compareTo(b)时:
①a>b 返回1
②a<b 返回-1
③a=b 返回0

二.equals()方法和"=="的区别.

1.对于"==":

基本数据类型(也称原始数据类型):byte,short,char,int,long,float,double,boolean之间的比较,比较的是他们的值。
复合数据类型(类):当他们用(==)进行比较的时候,比较的是他们在内存中的存放地址(确切的说,是堆内存地址).

2.对于String类里的str1.equals(str2):
如果str1和str2字符串内容相同,那就返回true,否则返回false.

3.另外两个方法就是这两个方法不区分大小写的用法.

四.字符串查找
1.关于contains()方法的举例

package First;

import java.util.*;

public class Main
{
	public static void main(String[] args)
	{
		String a = "l love EDG";
        String b = "love";
        String c = "RNG";
        System.out.println(a.contains(b)); //答案是true,boolean类型的嘛!
        System.out.println(a.contains(c)); //答案是false.
        //str1.contains(str2)方法主要用来判断str1中是否存在str2.
	}
}

2.关于indexOf()系列的举例(那个lastIndexOf(String str,int fromIndex)方法没搞懂,明天问问老师再改)
首先注意这四个方法都是返回第一次遇到指定的字符串时的位置。而且是区分大小写的。

package First;

public class Main
{
	public static void main(String[] args)
	{
		String s = "findStrring"; // 定义初始化一个字符串findString
		// 从头开始查找是否存在指定的字符 ,结果如下
		System.out.println(s.indexOf("d")); // 结果是3
		// 从s[3]位置开始往后继续查找S,包含当前位置
		System.out.println(s.indexOf("S", 3)); // 结果是4
		// 若指定字符串中没有该字符则系统返回-1
		System.out.println(s.indexOf("o")); // 结果是-1
		// 从后向前搜索,返回第一次找到指定字符串的位置的数组下标
		System.out.println(s.lastIndexOf("ri")); // 结果是7
		//从数组下标为10的位置开始往前找,返回第一次找到指定字符串的位置的数组下标
		System.out.println(s.lastIndexOf("r",10)); //结果是7
	}
}

startsWith()和endsWith()比较简单,不提了.

五.字符串截取
这个很简单,说的也很明白了,跳过.

六.字符串替换
同上,不过觉得这个方法真心不错.

七.字符串拆分
对于部分拆分加两个举例,便于更好理解部分拆分
1.

package First;

public class Main
{
	public static void main(String[] args)
	{
        String str = "hello world nice china";
        String[] data = str.split(" ",3);
        for (int i=0;i<data.length;i++){
            System.out.println(data[i]);
        }
	}
}

在这里插入图片描述
2.

package First;

public class Main
{
	public static void main(String[] args)
	{
        String str = "hello world nice china";
        String[] data = str.split(" ",4);
        for (int i=0;i<data.length;i++){
            System.out.println(data[i]);
        }
	}
}

在这里插入图片描述

八.其他操作方法
1.length和length()区别
length用于获取字符串数组的成员个数
length()用于获取字符串的长度

2.isEmpty()举例

package First;

public class Main
{
	public static void main(String[] args)
	{
		String a1 = "hello world nice china";
		String a2="";
		boolean c=a1.isEmpty();
		boolean d=a2.isEmpty();
		System.out.println(c);
		System.out.println(d);
	}
}

在这里插入图片描述
3.字母大小写转换的两个函数举例
作用:将字符串中的字母全部转化为大写状态,或将字符串中的字母全部转化为大小写状态

package First;

public class Main
{
	public static void main(String[] args)
	{
		String a1 = "hello world nice china";
		String a2 = "YYHXSSS";
		String c=a1.toUpperCase();
		String d=a2.toLowerCase();
		System.out.println(c);
		System.out.println(d);
	}
}

在这里插入图片描述
4.trim()功能举例已经很清晰了.

九.原文中没有提及的方法

1.valueOf()方法
这是一个将其他类型数据转换成String类的方法,具体参见:

https://blog.csdn.net/Cherishlife_/article/details/86529335?ops_request_misc=&request_id=&biz_id=102&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduweb~default-0

2.replace(),replaceAll(),replaceFirst()的区别
简单地说就是replace是匹配字符串,而replaceAll和replaceFirst是匹配正则表达式。
举个例子:

package First;

import java.util.Scanner;

public class Main
{
	public static void main(String[] args)
	{
		String s = "my.test.txt";
		System.out.println(s.replace(".", "#"));
		System.out.println(s.replaceAll(".", "#"));
		System.out.println(s.replaceFirst(".", "#"));
		System.out.println(s.replaceFirst("t", "#"));
	}
}

在这里插入图片描述
具体解析请看下方博客:
https://blog.csdn.net/weixin_30414305/article/details/98182988?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1

3.contentequals和equals的比较
https://blog.csdn.net/chaolin1994/article/details/51470025?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-1&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-1

4.split()的用法
https://blog.csdn.net/ccccvvvvvcv/article/details/105389031

再次感谢原文博主!

最后

以上就是无奈火车为你收集整理的java-关于String类整理的补充的全部内容,希望文章能够帮你解决java-关于String类整理的补充所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(59)

评论列表共有 0 条评论

立即
投稿
返回
顶部