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类的判断功能 ...
随机推荐
- 对getElementsByTagName("*")获取全部元素的总结
var all=document.getElementsByTagName("*") //获取整个页面的标签元素 alert(all.length); ...
- 使用WebMatrix发布网站
使用WebMatrix发布网站 WebMatrix 简介: Microsoft WebMatrix 是微软最新的 Web 开发工具,它包含了构建网站所需要的一切元素.您可以从开源 Web 项目或者内置 ...
- C# Web Api 上传文件
一. 使用默认方法上传文件: 1.Action: /// <summary> /// 上传文件 使用上传后的默认文件名称 /// 默认名称是BodyPart_XXXXXX,BodyPart ...
- SharePoint 2013 调用WCF服务简单示例
内容比较简单,主要记录自己使用SharePoint 2013WCF服务遇到的小问题和小经验,分享给大家,希望能够给需要的人有所帮助.好吧,进入正题! 第一部分 SharePoint 2013调用自带W ...
- 获取经过跳转后的url地址
粗略一算,不写code已经好几个月了. 昨日受兄弟所托,为他写了一个小小的程序. 程序功能: 自动获取跳转后的Url地址 如下图所示: (newUrl.txt为转换后的地址信息...) 实现过程: 每 ...
- page resizing
<script type="text/javascript"> $(window).load(function () { var root; root = $(&quo ...
- mac 下安装android studio(转)
1)下载最新jdk8,下载android studio 2)安装jdk8,双击jdk8的安装包,将jdk8的安装包拖到Application,可能会出现这种问题:要求Mac OS X10.7.3或更高 ...
- 以蓝牙开发的视觉解读微信Airsync协议
微信硬件平台使用蓝牙作为近场控制的连接件,并拟定了<微信蓝牙外设协议>.这份协议更像一个标准,用于规范微信和蓝牙外设之间的数据交互场景和接口.但从开发者来看,要完全读懂这份协议,恐怕需要熟 ...
- Mac OS X上安装 Ruby运行环境
环境 对于新入门的开发者,如何安装 Ruby和Ruby Gems 的运行环境可能会是个问题,本页主要介绍如何用一条靠谱的路子快速安装 Ruby 开发环境.此安装方法同样适用于产品环境! 系统需求 ...
- C++语言-04-重载
相关概念 重载 在同一作用域中为某个函数和运算符指定多个定义,分别成为函数重载和运算符重载 重载声明 与之前已经在作用域内声明过的函数或方法具有相同名称的声明,参数列表和定义不同 重载决策 调用一个重 ...