黑马程序员——String
来源:互联网 发布:马伯庸作品知乎 编辑:程序博客网 时间:2024/06/01 09:06
------- android培训、java培训、iOS培训、.Net培训期待与您交流! ----------
字符串最大特点:一旦被初始化就不可以被改变
class StringDemo {public static void main(String[] args) {String s1="abc"; //s1是一个类类型变量,"abc"是一个对象s1="kk";//打印kk ,s1指向的对象变了,刚指向abc对象,现在指向kk这个对象 //abc这个对象没变过,里面还是abc。s1的地址变了,但是abc对象内容没有变化过System.out.println(s1);}}
==与equals的区别
class StringDemo {public static void main(String[] args) {String s1="abc";String s2=new String("abc");System.out.println(s1==s2); //打印false,s1指向"abc",s2指向new String("abc"),为新的对象System.out.println(s1.equals(s2));//equals方法比较地址值而这里打印true,是因为String类复写了Object类中的equals方法,//建立了自己对象独特的判断相同内容,该方法用于判断字符串是否相同。 }}
String类适用于描述字符串事物,那么它就提供了多个方法对字符串进行操作
常见的操作有哪些呢?
1.获取
1.1 字符串中的包含的字符数,也就是字符串的长度:int length()
1.2 根据位置获取位置上某个字符:char charAt(int index)
1.3 根据字符获取该字符在字符串中位置
int indexOf(int ch):返回的是ch在字符串中第一次出现的位置
int indexOf(int ch, int fromIndex) :从fromIndex指定位置开始,获取ch在字符串中 出现的位置
int indexOf(String str):返回的是str在字符串中第一次出现的位置
int indexOf(String str, int fromIndex) :从fromIndex指定位置开始,获取str在字符串 中出现的位置
2判断
2.1 字符串中是否包含某一个子串:boolean contains(str)
特殊之处:indexOf(str)可以索引str第一次出现位置,如果返回-1.表示该str不在字 符串中存在,所以也可以用于对指定判断是否包含
if(str.indexOf("aa")!=-1)
而且该方法即可以判断,又可以获取出现的位置。
2.2 字符中是否有内容
boolean isEmpty(): 原理就是判断长度是否为0
2.3 字符串是否是以指定内容开头:boolean startsWith(str)
2.4 字符串是否是以指定内容结尾:boolean endsWith(str)
2.5 判断字符串内容是否相同。复写了Object类中的equals方法
boolean equals(str)
2.6 判断内容是否相同,并忽略大小写:boolean equalsIgnoreCase()
3转换
3.1 将字符数组转成字符串
构造函数:String(char[])
String(char[],offset,count)将字符数组中的一部分转成字符串。
静态方法:Static String copyValueOf(char[])
static String copyValueOf(char[] data, int offset, int count)
static String valueOf(char[])
3.2 将字符串转成字符数组:char[] toCharArray()
3.3 将字节数组转成字符串:String(byte[])
String(byte[],offset,count)
将字节数组中的一部分转成字符串
3.4 将字符串转成字节数组:byte[] getBytes()
3.5 将基本数据类型转成字符串:static String valueOf(int)
static String valueOf(double)
特殊:字符串和字节数组在转换过程中,是可以指定编码表的。
4替换:String replace(oldchar,newchar)
5.切割:String[] split(regex)
6子串:获取字符串中的一部分
String substring(begin)
String substring(begin,end)
7转换、去除空格、比较
7.1 将字符串转成大写或则小写
String toUpperCase()
String toLowerCase()
7.2 将字符串两端的多个空格去除
String trim()
7.3 对两个字符串进行自然顺序的比较
int compareTo(string)
StringBuffer:是字符串缓冲区,是一个容器
特点:1.长度是可变化的
2.可以字节操作多个数据类型
3.最终会通过toString方法变成字符串
常见操作:
1.存储:StringBuffer append():将指定数据作为参数添加到已有数据结尾处
StringBuffer insert(index,数据):可以将数据插入到指定index位置
2.删除:StringBuffer delete(start,end):删除缓冲区中的数据,包含start,不包含end
StringBuffer deleteCharAt(index):删除指定位置的字符
3获取:char charAt(int index)
int indexOf(String str)
int lastIndexOf(String str)
int length()
String substring(int start, int end)
4.修改:StringBuffer replace(start,end,string)
void setCharAt(int index, char ch)
5.反转:StringBuffer reverse()
6.将缓冲区中指定数据存储到指定字符数组中:void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)
JDK1.5 版本之后出现了StringBuilder
StringBuffer是线程同步,StringBuilder是线程不同步,建议使用StringBuilder
升级三个因素:提高效率、简化书写、提高安全性
基本数据类型对象包装类
byte Byte
short short
int Integer
long Long
boolean Boolean
float Float
double Double
char Character
最常见作用:用于基本数据类型和字符串类型之间做转换
基本数据类型转成字符串:基本数据类型+""
基本数据类型.toString(基本数据类型值)
字符串转成基本数据类型:xxx a = Xxx.parseXxx(String)
十进制转成其他进制:toBinaryString()、toHexString()、toOctalString()
其他进制转成十进制:parseInt(string,radix)
JDK1.5版本以后出现的新特性
Integer x=new Integer(4),可以如下书写
Integer x=4; //自动装箱,这里4为对象,x 为引用数据类型,类类型变量肯定指向对象,4等同于new Integer(4),不用显示做,会隐式帮你完成,简化书写
新特性中x除了可以取整数外还多了一个值null(Integer x=null),会运行失败(空指针异常),以后书写要进行判断
x=x+2;//可以直接进行运算。x+2:x进行自动拆箱,变成了int类型,和2进行加法运算,再将和进行装箱赋给x
当数值在byte范围(-128到+127)内时,对于新特性,如果该数值已经存在,则不会再开辟新的空间
- 黑马程序员——String
- 黑马程序员——String
- 黑马程序员——String
- 黑马程序员——String
- 黑马程序员——String
- 黑马程序员——String
- 黑马程序员——String
- 黑马程序员——String
- 黑马程序员——String
- 黑马程序员——String
- 黑马程序员——String
- 黑马程序员—String字符串
- 黑马程序员—String类
- 黑马程序员—String 小结
- 黑马程序员———String
- 黑马程序员——String类
- 黑马程序员——java String
- 黑马程序员——>第十三天<String>
- Android 异步网络请求及协调CountDownLatch
- Java多线程-工具篇-BlockingQueue
- 多进程编程:fork()函数
- universalimageloader增加Refer校验
- Extjs 查看图片并添加放大缩小功能
- 黑马程序员——String
- 一个免费下载电子书的网站
- JAVA 比较两个日期相差的天数
- H.264 基础及 RTP 封包详解
- BLE协议栈简介
- 炫酷CSS图片切换动画
- 【Unity】减少GC回收
- iOS Images.xcassets 的使用
- du 命令详解