java11-6 String类的其它功能
String类的其他功能:
替换功能:
String replace(char old,char new)
String replace(String old,String new)
去除字符串两空格
String trim()
按字典顺序比较两个字符串
int compareTo(String str) 区分大小写
int compareToIgnoreCase(String str) 不区分大小写
public class StringTest3 {
public static void main(String[] args) {
String s = "HelloWorld";
// 字符替代:String replace(char old,char new)
String s1 = s.replace('o','k');
System.out.println(s1);//HellkWkrld
// 字符串替代:String replace(String old,String new)
String s2 = s.replace("ll", "kk");
System.out.println(s2);//HekkoWorld
// 去除字符串两空格
String s4 = " hello world ";
String s5 = s4.trim();
System.out.println("s4:" + s4 + "---");//左右的空格还保留
System.out.println("s5:" + s5 + "---");//左右的空格去除了
//按字典顺序(ASCII码表)比较两个字符串:
// int compareTo(String str)
String a1 = "cat";
String a2 = "dog";
String a3 = "Cat";
String a4 = "door";
String a5 = "cat";
String a6 = "c";
int i1 = a1.compareTo(a2);
System.out.println(i1);
//-1 c在b的前面一位,ASCII码表,a1的c减去a2的b,等于-1
System.out.println(a1.compareTo(a3));//32
//a1的c在ASCII的数值减去a2的C在ASCII的数值。得到32
System.out.println(a2.compareTo(a4));//-8
//a2的前2个字母do和a4前2个一样,a2第三个的g减去a4第三个的o,得到-8
System.out.println(a1.compareTo(a5));//0
//a1和a5的数组元素完全一样
System.out.println(a1.compareTo(a6));//2
//Ctrl+左键点击comperTo看源码
}
}
compareTo的源码,以及“System.out.println(a1.compareTo(a6));//2”的分析
private final char value[];
字符串会自动转换为一个字符数组。
public int compareTo(String anotherString) {
// this - a1 - "cat"
// anotherString - a2 - "c"
int len1 = value.length;
//this.value.length = a1.toCharArray().length == 3
int len2 = anotherString.value.length;
//anotherString.value.length = a2.toCharArray().length == 1
int lim = Math.min(len1, len2);
// lim = Math.min = 3-1 = 2; lim = 2
char v1[] = value;
// char v1[] = {'c','a','t'};
char v2[] = anotherString.value;
// char v2[] = {'c'};
int k = 0;
while (k < lim) {
char c1 = v1[k]; //c1 = 'c','a','t'
char c2 = v2[k]; //c2 = 'c'
if (c1 != c2) {
return c1 - c2;
}
k++; //当k=1时,k !< lim ,lim = 1; 所以跳出循环
}
return len1 - len2; //跳出循环后,到这里,比较两个数组的长度 3-1 = 2
}
String a1 = "cat";
String a6 = "c";
System.out.println(a1.compareTo(a6));//
java11-6 String类的其它功能的更多相关文章
- java11-3 String类的获取功能
String类的获取功能 int length():获取字符串的长度. char charAt(int index):获取指定索引位置的字符 int indexOf(int ch):返回指定字符在此字 ...
- Java基础知识强化34:String类之String类的转换功能
1. String类的转换功能 String[] split(String regex)//将字符串变成字符串数组(字符串切割) byte[] getBytes()//将字符串变成字节数组 char[ ...
- Java基础知识强化33:String类之String类的获取功能
1. String类的获取功能 int length() // 获取字符串中字符的个数(长度) char charAt(int index)//根据位置获取字符 int indexOf(int ch) ...
- Java基础知识强化32:String类之String类的判断功能
1. String类的判断功能: boolean equals (Object obj ) boolean equalsIgnoreCase (String str ) boolean contain ...
- string类的常用功能演示
这个程序可用随着我对string的用法的增多而有调整. /* 功能说明: string类的常用功能演示. 实现方式: 主要是演示string的常用函数的用法和它与字符数组的区别与联系 限制条件或者存在 ...
- 字符串类String类的判断功能
StringDemo.java /* * Object:是类层级结构中的根类,所有的类都直接或间接的继承自该类. * 如果一个方法的形式参数是Object,那么这里我们就可以传递它的任意的子类对象. ...
- String类的转换功能
/* * String类的转换功能 * char[] toCharArray():把字符串转换为字符数组 * String toLowerCase():把字符串转换为小写字符串 * String to ...
- String类的获取功能
/* * String类的获取功能: * int length():获取字符串的长度,其实也就是字符个数 * char charAt(int index):获取指定索引处的字符 * int index ...
- String类的判断功能
/* * Object:是类层级结构中的根类,所有的类都直接或间接的继承自该类. * 如果一个方法的形式参数是Object,那么这里我们就可以传递它的任意的子类对象. * * String类的判断功能 ...
随机推荐
- web安全——防火墙
简介 用于实现服务器(Linux)的访问控制的功能的. 分硬件和软件防火墙. 主要是控制访问的流入和服务器的流出. 通过黑名单和白名单的思想来实现更细粒度的控制,这个一般结合其他的应用来定义策略实现. ...
- sqlserver允许远程连接的配置
如果无法通过IP地址远程连接你服务器上的SQL Server服务器,可以参考下面的内容进行设置 在进行下述设置之前,应该确保你的网络已经安装设置完毕,服务器已经正常连接到网络中. 1.单击Window ...
- angular 指令——时钟范例
<html> <head> <meta charset='utf-8'> <title>模块化</title> <script typ ...
- MYSQL使用正则表达式过滤数据
一.正则与LIKE的区别 Mysql的正则表达式仅仅使SQL语言的一个子集,可以匹配基本的字符.字符串.例如:select * from wp_posts where post_name REGEXP ...
- R语言学习笔记:字符串处理
想在R语言中生成一个图形文件的文件名,前缀是fitbit,后面跟上月份,再加上".jpg",先不百度,试了试其它语言的类似语法,没一个可行的: C#中:"fitbit&q ...
- Caused by: java.lang.UnsupportedOperationException
对Arrays.asList()返回的List进行操作之后报错Caused by: java.lang.UnsupportedOperationException 让我们来看一下Arrays.asLi ...
- 解决虚拟机linux端mysql数据库无法远程访问
解决虚拟机linux端mysql数据库无法远程访问 1. 在控制台执行 mysql -u root -p mysql,CentOS系统提示输入数据库root用户的密码,输入完成后即进入mysql控制台 ...
- OC--代理模式
一,代理设计模式的场合: 当对象A发生了一些行为,想告知对象B (让对象B成为对象A的代理对象) 对象B想监听对象A的一些行为 (让对象B成为对象A的代理对象) 当对象A无法处理某些行为的时候,想让对 ...
- 多线程在iOS开发中的应用
多线程基本概念 01 进程 进程是指在系统中正在运行的一个应用程序.每个进程之间是独立的,每个进程均运行在其专用且受保护的内存空间内. 02 线程 2-1 基本概念 1个进程要想执行任务,必须得有线程 ...
- 关于第三方IOS的checkBox框架的使用
*:first-child { margin-top: 0 !important; } body > *:last-child { margin-bottom: 0 !important; } ...