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类的判断功能 ...
随机推荐
- windows下mongodb安装与使用
首先安装mongodb 1.下载地址:http://www.mongodb.org/downloads 2.解压缩到自己想要安装的目录,比如d:\mongodb 3.创建文件夹d:\mongodb\d ...
- 高清HDMI编码器|上海视涛科技
HDMI编码器(E300)简介 HDMI编码器(E300)是上海视涛科技出品的高性能HDMI+VGA编码产品.该HDMI+VGA编码器是上海视涛科技完全自主研发,并适用于VGA.DVI.HDMI等信号 ...
- R语言学习笔记:SQL操作
虽然R很强大,但如果对SQL非常熟悉,也不能浪费这项技能了,可以用上sqldf包,从example("sqldf")抄了几条用法放在这里,以后可能会用上. library(&quo ...
- R语言学习笔记:绘制地图
在R中画地图先从简单的maps包开始. library("maps") 在这个maps包中有一些数据集,用命令data(package=”maps”),可以看到如下数据: cana ...
- GridView总结二:GridView自带编辑删除更新
GridView自带编辑删除更新逻辑很简单:操作完,重新绑定.总结总结,防止忘记... 效果图: 前台代码: <%@ Page Language="C#" AutoEvent ...
- android拍照选择图片上传服务器自定义控件
做android项目的时候总免不了遇到图片上传功能,虽然就是调用android系统的拍照和相册选择功能,但是总面部了把一大推代码写在activity里,看上去一大推代码头都昏了.不如把这些功能都集成一 ...
- Spring(四)Bean注入方试
一.构造方法注入 定义:通过构造函数来完成依赖关系的设定 优缺点: 在构造对象的同时,完成依赖关系的建立 如果关联的对象很多,那和不得不在构造方法上加入过多的参数 基中有index:如果指定索引从0开 ...
- java调用python代码
同样的我们需要安装jython,具体的步骤如下: 1. 去 http://sourceforge.net/projects/jython/ 下载最新的jython相关的jar包. 2. 下载下来的ja ...
- iOS开发之NSTimer使用初探
创建一个定时器(NSTimer) - (void)viewDidLoad { [super viewDidLoad]; [NSTimer scheduledTimerWithTimeInterval: ...
- IOS组件绑定无效错误
报错的原因:界面按钮事件没有绑定到源代码或者相关的代码被注释了.比如你的button组件以及绑定到IBOutlet,但是viewcontrol.m上没有相关的代码,就会出现异常.