------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
152_String(概述)_黑马程序员_Java基础视频
153_String(常见功能-获取和判断)_黑马程序员_Java基础视频
154_String(常见功能-转换)_黑马程序员_Java基础视频
字符串是一个特殊的对象
字符串一旦初始化就不可以被改变.
String str="abc";
String str1=new String("abc");有什么区别?
使用起来是一样的.
System.out.println(str==str1);//false
System.out.println(str.equals(str1));//true .string 复写了Object类中的equals方法.定义了自己独特内容.该方法用于判断字符串是否相同.
//s1和s2有什么区别?
s1在内存中有一个对象.
s2在内存中有两个对象.
string str="abc";//str是类类型的变量,"abc"是一个对象
//字符串最大的特点在于,一旦被初始化,就不可以被改变.
str="kk";
这时候"abc"还是存在的.
字符串中的方法.
String s1="abc"
String s2=new String("abc");
String s3="abc"
s1==s2;false
s1==s3;true
方法区存了静态,常量池,和方法
String 类适用于描述字符串事物.
那么它就提供了多个方法,对字符串,进行操作.
常见的操作有哪些?
"abcd"
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第一次出现的位置,如果返回01表示str不在字符串中存在
所以也可以用于指定字符串判断是否包含.
该方法既可以判断,也可以拿取.
2.2 字符串是否有内容.
boolean isEmpty(); 原理就是判断长度是否为0."" Null
2.3字符串是否是以指定内容开头
boolean startswith(str);
2.4字符串是以指定内容结尾.
boolean endwith(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)
3.2将字符串转成字符数组**
char[] toCharArray();
3.3将字节数组转成字符串
string(byte[])
string(byte[],offset ,count);将字节数组中的一部分转成字符串.
3.4 将字符串转成字节数组
byte[] getBytes():
3.5将基本数据类型转成字符串
static string valueOf(int);
特殊:字符串和字节数组在转换过程中,是可以指定编码表的.
155_String(常见功能-切割和替换)_黑马程序员_Java基础视频
4替换
string replace (oldchar,newchar);
5切割
String[] split(regex);
子串
6获取字符串中的一部分.
String substring(begin);
String substring(begin,end);
156_String(常见功能-比较和去除空格)_黑马程序员_Java基础视频
7转换,去除空格,比较.
7.1将字符串转成大写或小写.
String toUpperCase();
String toLowerCase();
7.2将字符串两端的多个空格去除.
String trim();
7.3将两个字符串进行自然顺序的比较
int compareTo(string):
157_String(字符串练习1)_黑马程序员_Java基础视频
没看到时候看.
160_String(字符串练习4)_黑马程序员_Java基础视频
161_StringBuffer(常见功能-添加)_黑马程序员_Java基础视频
162_StringBuffer(常见功能-删除和修改)_黑马程序员_Java基础视频
字符串的组成原理就是通过该类实现.
StringBuffer 可以对字符串内容进行增删.
StringBuffer 是一个容器.
很多方法与String相同.
StringBuffer是可变长度的.
StringBuffer是字符串缓冲区
是一个容器.
特点:
1,可以长度是可变化的.
2,可以字节操作多个数据类型.
3,最终会通过toString方法变成字符串.
数据类型不确定,数据的个数不确定的时候,最终都要变成字符串的时候,就用
C create U update R read D delete
1,存储.
StringBuffere append():将指定数据作为参数添加到已有数据的结尾处
sb.append("abc").append(true).append(34);
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() det,int dstBegin)
缓冲区,面盆理论...
163_StringBuilder_黑马程序员_Java基础视频
StringBuilder StringBuffer
JDK1.5版本之后出现了,StringBuilder
StringBuffer是线程同步的.
StringBuilder是线程不同步的.
将StringBuilder实例用于多线程是不安全的,如果需要这样的同步,则建议使用StringBuffer.
java升级一般围绕着效率简化书写,提高安全性来做出修改.
以后开发,建议使用StingBuilder
升级三个因素
1,提高效率,
2,简化书写,
3,提高安全性.