作为一个非java程序员,但又想走安卓方向的,参加了面试发现需要手撸代码写不出来啊(肯定凉了),一些常见的方法不知道,需要查阅文档可是不行,平时都是用android studio直接出代码的(没有工具我就不会写代码了)只能亡羊补牢了,补一下了。
java中的基本数据类型没有方法和属性(不是对象),使用包装类使得这些基本数据类型拥有方法和属性,实现对象化交互。
包装类:将基本的数据类型及一些辅助方法包装到类中。
包装类分为两类一类是对象型包装类,不继承任何其他类(Object的直接类),另一类是数值型包装类,继承于Nmuber类。
装箱:将基本数据类型转换成包装类对象。
拆箱:将包装类转换成基本数据类型。
//自动装箱
int a1 = 0;
Integer a2 = a1;
//手动装箱(构造方法)
Integer a3 = new Integer(a1);
//自动拆箱
int a4 = a2;
//手动拆箱,需要不同的基本数据类型使用对应的xxxValue方法,xxx对应数据类型:int,double等
int a5 = a2.intValue();
包装类对象的初始化值为null(对象)。
字符串转换:
使用包装类toString()方法,把基本类型转换成字符串
调用包装类parseXxx()静态方法,或者先将字符串转换成包装类再拆箱转换成基本类型。字符串转换成基本类型。
char是java八种基本类型之一。Character类(包装类):用于对单个字符进行操作,提供了方法来操作字符。
string是j字符串,是对象不是类型。String类(包装类):用于创建和操作字符串。
注:通过new关键字创建对象会开辟不同的内存空间。
Character类
列出一些常用的方法:
isLetter()//是否是一个字母字符
isDigit()//是否是一个数字字符
isWhitespace//是否是一个空白字符
isUpperCase()//是否是大写字母
isLowerCase()//是否是小写字母
toUpperCase()//指定字母的大写形式
toLowerCase()//指定字母的小写形式
toString()//转换成字符串
String类:
常用方法:
length()//获取字符串对象包含的字符数
concat()//连接字符串,用+也可以
char charAt(int index)//返回索引处的char值
int compareTo(Object o)//把字符串和另一个对象比较
int compareTo(String s)//比较两个字符串
int compareToIgnoreCase(String s)//比较两个字符串,不考虑大小写
boolean contentEquals(StringBuffer sb)//当字符串和指定的StringBuffer具有想的顺序的字符时返回真
static String copyValueOf(char[] c 【,int offset,int count ]】)//返回指定数组中表示该字符序列的String
boolean statrsWith(String s)//此字符串是否以指定的前缀开始
boolean endsWith(String s)//此字符是否以指定的后缀结束
boolean equals(Object o)//字符串与指定的对象比较
byte[] getBytes(【String s】)使用平台的默认字符集将此String编码为byte序列,并将结果储存到一个新的byte数组中
void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)//将字符从此字符串复制到目标字符数组
int indexOf(int c)//返回指定字符在此字符串第一次出现的索引
int indexOf(String s)//返回指定子字符串在此字符串中第一次出现的索引
int hashCode()//返回此字符串的哈希码
int lastIndexOf(int c)//返回指定字符在字符串中最后一次出现处的索引
int lastIndexOf(String s)//同上
String replace(char old,char new)//返回一个新的字符串,通过new代替字符串中出现所有的old
String replaceAll(String regex,String replacement)//使用给定的replacement替换此字符串所有匹配的正则表达式的子字符串
String replaceFirst(String regex,String replacement)//使用给定的replacement替换此字符串第匹配的正则表达式的第一个子字符串
String split(String regex)//根据正则表达式拆分字符串
char[] toCharArray()//将此字符串转换成一个新的字符数组
String toLowerCase()//将此字符串全部转换为小写
String toUpperCase()//将此字符串全部转换成大写
String trim()//返回字符串的副本,忽略前空白和尾部空白
创建格式化字符串
format()//返回一个String对象
printf()//直接打印输出
当对字符串进行修改的时候,需要使用StringBuffer和StringBuilder类(String对象的改变不是改变原对象,而是生成一个新的对象)。StringBuffer和StringBuilder类的对象能够被多次修改。
有线程安全要求的情况下,必须使用StringBuffer类。StringBuilder比StringBuffer有速度优势。