黑马程序员__Java中Object类,String类
来源:互联网 发布:智能变送器掌上编程器 编辑:程序博客网 时间:2024/06/03 09:00
------- android培训、java培训、期待与您交流! ----------
Object类
equals方法
比较的方法,比较对象,Java认为所有的对象都具备比较性
指示其他某个对象是否与此对象“相等”。
基本类型,123比较具体的数值
对象中,equals方法比较是对象的地址
Object类中的equals方法的源代码
public boolean equals(Object obj){
return this == obj;
}
覆盖equals方法,目的何在
建立自己的比较方式,比较的是类中成员变量的值
问 equals 方法 和 运算符== 的区别是什么
== 运算符,比较基本类型,比较引用类型
基本类型中,比较的是具体的数值
引用类型,比较(真实的)地址
equals方法
原始状态中,equals方法比较对象的地址
可以覆盖方法,建立对象自己的比较方式
2. 字符串重要性
大多数数据,是以字符串形式存在的
人的一些信息,邮箱,电话,地址,爱好,兴趣,学历,婚事
开发中,字符串的处理非常重要
String类概述
字符串这类事物,被看成是一个对象,字符串对象
就有描述这个对象类,java.lang.String类
是被final修饰的类,不能去继承String类
String 类代表字符串。Java 程序中的所有字符串字面值(如 "abc" )都作为此类的实例实现。
java中,写上 "" 就是String类的对象实例
常量,字符串常量,一旦创建了,就不能在修改了
str是一个String类类型变量,类类型变量,一定指向对象
String str = "abc";
4. 字符串的定义方法
第一种 String str = "abc";
第二种 String str = new String("abc");
5. String的底层原理
其实你看的是一个字符串
但是String的底层原理,并不是字符串,是字符数组
"abc"其实,是一个字符数组 char类型
看String类的源代码
private final char value[];
6. String类中的常用方法
6.1 String类的构造方法
空参数构造方法 new String()
有一个字节数组的参数的构造方法
String(byte[] bytes) 将一个字节数组转成字符串
带有一个字节数组,还带有下标
String(byte[]bytes ,int start ,int length)将字节数组转成字符串,但是按照写下标来转换
第一个int是开始下标,第二个int是个数
常用的ASCII码值 a 97 z 122 A65 Z 90 0 48 9 57 enter 13
带有一个字节数组,带有字符编码集的构造方法
String(byte[] bytes, Charset charset)
带有一个字符数组的构造方法
String(char[] ch)将字符数组转成字符串对象
带有一个字符数组的构造方法,带有下标参数
String(char[],int start,int length)将字符数组的一部分转成字符串
关于String构造方法的案例
功能,执行一个字符数组
将数组变成字符串,不能使用String类构造方法
实现步骤:
遍历数组
每一个字符做字符串的+=操作
6.2 String类的判断方法
很重要,很常用 equals
判断两个字符串是否完全一致,如果一致返回真,否则返回假
public boolean equals(Object obj){}
继承Object,覆盖的equals建立了字符串自己的比较方式,不比较地址
比较的是实际的字符串的内容
equalsIgnoreCase 判断两个字符串是否完全一致,忽略大小写
public boolean equalsIgnoreCase(String s)
用户验证码,不区分发小写
startsWith(String s)判断一个字符串是否以另一个字符串开头
返回值也是boolean
endsWith(String s)判断一个字符串是否以另一个字符串结尾
isEmpty()判断字符串是不是空串,如果没有字符,返回真,有字符返回假
开始版本JDK1.6开始
判断一个字符串是否包含另一个字符串
boolean contains(CharSequence s),如果完全包含返回true
6.3 String类的获取方法
int length()方法 获取到一个字符串中的字符个数
int length 属性,数组的长度
char charAt(int index)获取到指定位置上的单个字符
int indexOf(char ch)获取指定字符,在字符串中第一次出现的位置
根据字符找索引,第一次出现的索引
特点,凡是找索引,到不到的,返回值 < 0
int indexOf(char ch,int fromindex)获取到指定位置上的单个字符
第二个参数int,指定开始查找的位置
int indexOf(String str)查找一个字符串,在另一个字符串中第一次出现的索引
必须完全匹配
int indexOf(String str,int fromindex)查找一个字符串,在另一个字符串中第一次出现的索引
必须完全匹配,指定开始位置
int lastIndexOf(char ch)查找指定字符,在字符串中最后一次出现的位置
反向索引
int lastIndexOf(char ch,int formindex)查找指定字符,在字符串中最后一次出现的位置
指定位置开始查找
int lastIndexOf(String str)
int lastIndexOf(String str,int formindex)
获取字符串中的一部分substring(int start,int end)从一个字符串中,截取出来另一个字符串
方法,返回一个新的字符串,老字符串,不变
包含头,不包含尾
6.4 String类的转换方法
字符串转成字节数组,和一个构造方法,相反操作
byte[] getBytes()
转字节数组,查询编码表,字符,汉字等等,还原会编码表中的十进制数
字符串转成字符数组
char[] toCharArray()
以上两个方法,和构造方法,都是相反操作
将字符串转成小写字母 toLowerCase()
将字符串转成大写字母 toUpperCase()
还有一个转换方法,很搞笑,是静态的
类名直接调用,static String valueOf(随便写)将任意类型的数据转成字符串
6.5 String类其他方法
切割字符串 String[] split(String s)
"192.168.1.100";切割IP地址 对于程序来讲没有用
但是对于商业经营来讲,很重要
欢迎你来自北京市昌平区联通的用户 IP地址数据库
北京市昌平434343-23432
替换字符串 String replace(老字符,新字符)
String replace(老字符串,新字符串)
没有替换成功,replace将会直接返回原始字符串
开灯,背景色变成白色,关灯背景色黑色
当你第一次打开页面,默认值就是白色
replace(白色,黑色)
String trim()方法用于去掉字符串两端的空格
返回新的字符串
一般用于输入用户名的时候,先去空格
字符串按照字典顺序比较abcde
int compareTo(String)
7. 字符串的案例
String的方法,配合使用
自己实现String类的equals方法
"asda"
"fds"
一个一个的比,将每一个字符单独提出来比较,必须数组完成
字符串怎么转成数组 toCharArray()
遍历数组
每个每个比较
只要你发现有一个不一样,程序就结束了,结果false
自己实现 toCharArray()
转成数组,定义一个数组
char[] ch = new char[s.length()]
遍历数组
获取数组的每一个索引,将每一个字符存储到数组中
ch[x] = s.charAt(x);
大小写的相互转化 abcEdweGEde
先转字符数组
遍历数组,获取每一个字符
ch[x] 97 - 122 65 -90
将字符-32 存储回数组
将字符+32 存储回数组
判断一个字符串是否是回文数
12321 1221 读法一致,前2个不能一致
转数组,判断最远端相等即可,并且前两个不同
------- android培训、java培训、期待与您交流! ----------
0 0
- 黑马程序员__Java中Object类,String类
- 黑马程序员__Java中的代理类
- 黑马程序员__JAVA基础__String类
- 黑马程序员--------JAVA---Object类String类
- 黑马程序员__Java中API之StringBuffered
- 黑马程序员__java类加载器委托机制
- 黑马程序员__Java抽象类和多态总结
- 黑马程序员__Java概述
- 黑马程序员----Object类
- 黑马程序员_Java(object类,scanner类,string类)
- 黑马程序员---Java基础---Object类和String类
- 黑马程序员_C#中string类详解
- 黑马程序员-String类
- 黑马程序员---String类
- 黑马程序员---String类
- 黑马程序员-String类
- 黑马程序员 String类
- 黑马程序员-----String类
- leetcode -- Remove Duplicates from Sorted List -- 很简单
- WebKit之V8的详细介绍
- 2015年12月3日工作总结
- Tomcat设置热部署
- WebKit之通用操作整理
- 黑马程序员__Java中Object类,String类
- UITableViewCell的几种创建和加载方式
- Twisted模型简介
- 数据指纹
- 讲义10:视图
- 网页设计大赛第十八天
- WebKit之DOM树构建流程分析
- 查看某个文件所依赖的库文件
- pageContext.findAttribute()与pageContext.getAttribute()的区别