黑马程序员-->Java基础-->String类
来源:互联网 发布:pe安装linux 编辑:程序博客网 时间:2024/06/10 05:46
-------android培训、java培训、期待与您交流! ----------
一、String类概述
1、字符串是一个特殊的对象。
java中所有的字符串字面值(如:"abc")都作为此类的实例实现
2、字符串是常量,一旦初始化就不可以被改变,可以共享。
3、String str = "abc"和String str1 = new String("abc")的区别
str在内存中只有一个对象;Str1在内存中有两个对象
4、String类复写了Object类中的equals方法,该方法用于判断字符串内容是否相同
二、创建字符串
1、使用new关键字创建字符串,如String str = new String("abc");
2、直接指定,如String str = "abc"
"abc"存储在字符串常量池中,等效于char[] ch = new char[]{'a','b','c'},String s = new String(ch);
3、使用串联生成新的字符串,如String str ="ab"+"c"+4;
三、字符串常见的操作方法
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在字符串中出现的位置;
int lastIndexOf(int ch) : 返回指定字符在此字符串中最后一次出现处的索引;
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 判断字符串内容是否相同。
boolean equals(str);
2.6 判断内容是否相同,并忽略大小写。
boolean equalsIgnoreCase();
3、转换
3.1 将字符数组转成字符串。
构造函数:String(char[])
String(char[],offser,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[],offser,count):将字符数组中的一部分转成字符串。
3.4 将字符串转成字节数组。
byte[] getBytes();
3.5 将基本数据类型转成字符串。
static String valueOf(int);
static String valueOf(double);如://3+""//string.valueOf(3);
特殊;字符串和字节数组在转换过程中,是可以指定编码表的。(应用:编码和解码)
4、替换
String replace(oldchar,newchar);
String replace(charSequence target,charSequence replacement);
5、切割(把字符串分开)
String[] split(regex);
6、子串。获取字符串中的一部分
Sting substring(int begin);
String substring(int begin,int end);包含头不包含尾,要包含尾就end+1
7、转换,去除空格,比较。
7.1将字符串转成大写或者小写。
String toUpperCase();
String toLowerCase();
7.2将字符串两端的多个空格去除。
String trim();
7.3对两个字符串进行自然顺序的比较。
int compareTo(String);
代码示例:
四、StringBuffer
StringBuffer是字符串缓冲区,是一个容器。
特点:a、长度是可变化的;
b、可以直接操作多个数据类型;
c、最终会通过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 length()
String substring(int start,int end)
4、修改
StringBuffer replace(start,end,string)
void setCharAt(int index,char ch);
5、反转。
String reverse()
6、将缓冲区指定数据存储到指定字符数组中。
void getChars(int srcBegin,int srcEnd,char[] dst,int dstBegin)
StringBuilder
JDK1.5版本之后出现了stringbuilder
JDK升级的原因:1、提高效率;2、简化书写;3、提高安全性。
stringBuilder和stringBuffer的区别:
stringBuffer是线程同步,stringBuilder是线程不同步
stringBuilder用于多线程是不安全的,多用于单线程,效率比较高。
代码演示:
五、基本数据类型对象包装类
1、基本类型 引用数据类型
byte Byte
short Short
int Integer
long Long
boolean Boolean
float Float
double Double
char Character
2、基本数据类型对象包装类的最常见作用,就是用于基本数据类型和字符串类型之间做转换。
2.1、基本数据类型转成字符串。
基本数据类型+""
基本数据类型.toString(基本数据类型值)
如:Integer.toString(34)
2.2、字符串转成基本数据类型。
(静态)[1] int a=Integer.parseInt("123");
long a=Long.parseLong("123");
double a=Double.parseDouble("12.33");
float a=Float.parseFloat("12.3");
boolean a=Bolean.parseBoolean("true");
(非静态)[2] Integer i=new Integer("123");
int num=i.intValue();
2.3、十进制转成其他进制。
Integer.toBinaryString(基本数据类型值);
Integer.toOctalString(基本数据类型值);
Integer.toHexString(基本数据类型值);
2.4、其他进制转成十进制。
parseInt(string,radix)
例子:int x=Integer.ParseInt("110",2) //二进制转十进制 2表示二进制
代码演示:
-------android培训、java培训、期待与您交流! ----------
- 黑马程序员-java基础 String类
- 黑马程序员----JAVA基础之String类
- 黑马程序员 Java基础 ---> String类
- 黑马程序员-------java基础:String类
- 黑马程序员---java基础---3String类
- 黑马程序员--Java基础--String类
- 黑马程序员-->Java基础-->String类
- 黑马程序员---java基础---String类、泛型
- 黑马程序员--java基础--String类
- 黑马程序员---Java基础-String类
- 黑马程序员----Java基础之String类
- 黑马程序员--Java基础--String类
- 黑马程序员 Java基础 String类
- 黑马程序员----------------Java基础-----------------String类
- 黑马程序员---java基础----String类
- 黑马程序员---Java基础(String类)
- 黑马程序员---Java基础---String类
- 黑马程序员--java基础--String
- android sdk Content Loader's has encountered a problem
- 【转】关于void指针
- Hasen的linux设备驱动开发学习之旅--linux设备驱动中的并发与竞态
- Activity设置全屏
- 奶茶妹妹参演苏有朋电影《左耳》
- 黑马程序员-->Java基础-->String类
- 网上流传的某个页游服务器代码阅读
- LNK1123:转换到COFF期间失败:文件无效或损坏
- MySQL常用的内置函数,字符串截取,类型转化
- 解决错误:Unable to copy symbols from this device
- 数据结构
- 关于GitHub的使用
- 互联网协议入门(二)
- mysql查询语句-handler