基本类型包装类
概述
- 在实际程序使用中,程序界面上用户输入的数据都是以字符串类型进行存储的,而程序开发中,我们需要把字符串数据,根据需求转换成指定的基本数据类型,比如,年龄需要转换成
int
类型,考试成绩需要转换成double
类型等等.故 : 如何实现字符串与基本数据类型之间的转换 需要怎么做? - Java中提供了相应的对象来解决该问题,基本数据类型对象包装类 : Java将基本数据类型值封装成了对象.封装成对象可以提供更多操作基本数值的功能
8中基本数据类型对应的包装类如下:
- 其中需要注意 :
int
对应的是Integer
,char
对应的Character
,其他的6种基本数据类型首字母大写即可!
具体包装类的相关功能建议查阅API
关键字 : String
String 常用方法
String replace(char oldChar, char newChar)
: 返回从替换所有出现的导致一个字符串
String str= "helloworld";
String replace = str.replace("o", "e");
System.out.println(replace);//结果: hellewerld
charAt(int index)
: char 指定索引的值
String str= "helloworld";
char c = str.charAt(5);
System.out.println(c);//结果:w
concat(String s)
: 将指定的字符串连接到该字符串的末尾,同+连接符一样
String str= "helloworld";
String concat = str.concat("!徐先生");
System.out.println(concat);//结果 : helloworld!徐先生
int length( )
: 求字符串的长度.
public static void main(String[] args) {
String str = new String("string");
System.out.println(str.length());
}
String substring(int beginIndex)
: 截取一个新的字符串
String str ="helloworld";
System.out.println(str.substring(5));//打印的结果 : helloworld---> world
System.out.println(str.substring(0,5));//截取指定区域的内的元素
boolean startsWith(String prefix)
: 是否以指定的前缀开始
//常用于判断文件开头
String str = "string.java";
System.out.println(str.startsWith("string"));//返回true
String[ ] split(String regex)
: 按照切符,将此字符串分隔为数组 , 注意 : 分隔符放在首位 , 中间起作用 , 放在末尾不起作用.
String str ="asd,zxc,qwe,rfv";
String[] split = str.split(",");
System.out.println(split.length);//数组的长度为:4
for (int i = 0; i < split.length; i++) {
String s = split[i];
System.out.println(s);//结果为:asd zxc qwe rfv
}
boolean endsWith(String suffix)
: 是否以指定的后缀结束
//常用于判断文件的后缀
String str = "string.java";
System.out.println(str.endsWith(".java"));//返回true
boolean contains(String s)
: 是否包含指定的字符串
String str = "helloworld";
System.out.println(str.contains("he"));//返回true
int indexOf(String str)
: 查找指定字符串出现第一次出现的索引值
String str = "helloworld";
System.out.println(str.indexOf("e"));//结果:1
System.out.println(str.indexOf("o"));//结果:4
//5表示指定索引5之后第一次出现"o"字母的下标
System.out.println(str.indexOf("o",5));//结果:6
byte[ ] getBytes( )
: 把字符串转成byte数组
String str = "helloworld";
byte[] bytes = str.getBytes();
for (int i = 0; i < bytes.length; i++) {
byte aByte = bytes[i];
System.out.println(aByte);
//输出结果是每个字母的ASCll码所在的位置
}
char[ ] toCharArray( )
: 把字符串转成插入数组
String str = "helloworld";
char[] chars = str.toCharArray();
for (int i = 0; i < chars.length; i++) {
char aChar = chars[i];
System.out.print(aChar+"\t");//结果:h e l l o w o r l d
}
String trim( )
: 返回一个字符串,其值为此字符串,并删除任何前导和尾随空格.不会删除中间的空格
String str = " he lloworld ";
String trim = str.trim();
System.out.println(trim);//结果:he lloworld :中间的空格不会删除
Boolean equals(Object object)
: 比较两个字符串的值是否相等
String str = "hello";
System.out.println("hello".equals("hello"));//返回true;
//将字符串与其他字符串比较,忽略大小写
System.out.println("Hello".equalsIgnoreCase("hello"))
//判断字符串是否为空
System.out.println("".isEmpty());
String toString( )
: 把对象转成字符串
String str = "hello";
System.out.println(str.toString)//返回(本身已是字符串)本身
String toLowerCase
: 将所有在此字符String使用默认语言环境的规则,以小写(就是字母换成小写)String toUpperCase
: 将所有在此字符String 使用默认语言环境的规则,以大写(就是字母换成大写)
String str = "HelloWorld";
String s = str.toLowerCase();
System.out.println(s);//结果 : helloworld
String s1 = str.toUpperCase();
System.out.println(s1);//结果 : HELLOWORLD
String valueOf(int i)
: 返回 int 参数的字符串 int形式.
int i =10 ;
String str = i+"";
String str1 = String.valueOf(i);
System.out.println(str);//结果 : 10
System.out.println(str1);//结果 : 10
String
:
构造方法:String(),String(byte[]),String(char[]),String(String)…
常用方法:
为了方便记忆可以分为四类.
搜索类:
indexOf()
: 返回指定元素第一次出现的索引
lastIndexOf()
: 返回指定元素最后一次出现的索引,从指定索引的后面开始搜索
…
判断类:
equals()
: 此字符串与其他字符串相比较,返回Boolean值类型
equalsIgnoreCase()
: 此字符串与其他字符串相比较,不区分字母的大小写,返回boolean值类型
contains()
: 当此字符串包含指定的char值序列时才返回 true
endsWith()
: 当此字符串是否以指定的后缀结尾
startsWith()
: 当此字符串是否以指定的前缀开头
isEmpty()
: 判断字符串是否为空,返回Boolean值类型
获取类:
concat()
: 将指定字符串连接到此字符串的末尾,同+符相等
replace()
: 将与字面目标序列匹配的字符串的每个子字符串替换为指定的字面替换序列。
subString()
: 截取此字符串,获得新的一个字符串
toLowerCase()
: 将此字符串的所有字母换成小写
toUpperCase()
: 将此字符串的所有字母换成大写
trim()
: 去除此字符串前导或者后导的空格,注意 : 中间的空格不会去除
其他:
getBytes()
: 将此字符串转换成Byte[ ] 数组
toCharArray()
: 将此字符串转换成char[ ]数组
length()
: 表示此字符串的长度
charAt()
: 返回char指定索引处的值(元素)
split()
: 将此字符串分隔,为给定的 regular expression的匹配。
StringBuffer
StringBuffer append(String str)
: 拼接
public static void main(String[] args) {
StringBuffer ste = new StringBuffer();
ste.append("Hello");
ste.append("World");
//方法链式调用
//ste.append("wowo").append("qqq");
System.out.println(ste);//结果:HelloWrold
}
StringBuffer delete(int start, int end)
: 删除指定索引的范围内的元素
StringBuffer ste = new StringBuffer("HelloWrold");
//删除指定索引的元素(值)
ste.deleteCharAt(5);
System.out.println(ste);//结果: Hellorold
ste.delete(5,10);
System.out.println(ste);//结果为:Hello
StringBuffer insert( int offset,String str)
: 插入
StringBuffer ste = new StringBuffer("HelloWrold");
//把指定元素插入到指定的索引下
ste.insert(10,"徐先生");
System.out.println(ste);//HelloWrold徐先生
//从字符串的长度后面插入
ste.insert(ste.length(),true);
System.out.println(ste);//HelloWroldtrue
StringBuffer replace(int start,int end,String str)
: 替换
StringBuffer ste = new StringBuffer("HelloWrold");
StringBuffer h = ste.replace(0, 5, "yes!!");
System.out.println(h);//结果:yes!!wrold
StringBuffer reverse()
: 反转
StringBuffer ste = new StringBuffer("HelloWrold");
StringBuffer reverse = ste.reverse();
System.out.println(reverse);//结果:dlorWolleH
String toString( )
: 把对象转为字符串void setCharAt(int index, char ch)
指定索引处的字符设置为 char类型的数据 。
StringBuffer ste = new StringBuffer("HelloWrold");
ste.setCharAt(0,'h');
System.out.println(ste);//helloWrold
setLength( )
: 设置此字符串的长度