java基础系列(一):Number,Character和String类及操作
这篇文章总结了Java中最基础的类以及常用的方法,主要有:Number,Character,String。
1、Number类
在实际开发的过程中,常常会用到需要使用对象而不是内置的数据类型的情形。所以,java语言为每个内置数据类型都提供了对应的包装类。六种内置数据类型:byte, short, int, long, float, double分别对应Number抽象类的子类:Byte,Short,Integer,Long,Float,Double
装箱:把基本类型用它们相应的引用类型包装起来,使其具有对象的性质。例:Integer a = 1;
拆箱:将引用类型的对象简化成内置类型的数据。例:int b = a ;
1.XXValue():将Number对象转换为相应的类型 Double num = 1.5; int intNum = num.intValue(); 2.compareTO():同类型比较,小于参数返回-1,等于参数返回0,大于参数返回1 3.equals():返回boolen值 4.valueOf():返回一个Number对象指定的内置数据类型,参数可以是字符串,字符 Double dou = Double.valueOf('1') 返回49.0 Double dou = Double.valueOf(“1”) 返回1.0 5.toString():转换为字符串 6.parseXXX():将字符串解析为Number对象 Integer a = Integer.parseInt("123"); 7.Math.random():返回一个0-1的随机数
1.isLetter() 2.isDigit() 3.isWhitespace() 4.isUpperCase() 5.isLowerCase() 6.toUpperCase() 7.toLowerCase() 8.toString() 1-7方法参数为操作的Character实列对象,由Character类调用;方法7由实例对象调用。
1.charAt():返回指定索引处的字符串 2.compareTo():比较字符串,返回第一个不相等字符的ASCII差值,如果字符都相等,则返回字符串长度差值 3.copyValueOf(char[],offset,count):参数是一个数组,返回的是一个String对象,将数组中的元素考到一个String对象中;getChars()方法正好与之相反,将特定位置的字符串,变为数组。 String b = "aghvjhg"; char[] a = new char[12]; b.getChars(0,4,a,0);a = [a,g,h,v,(int)0,....] String c = String.copyValueOf(a,0,3);c = "agh" 4.endsWith(),startWith():判断字符串是否以指定的字符串结尾或是开头 5.equals():判断字符串是否相等 6.getBytes():将字符串以指定字符集编码为byte序列,将结果存储到一个新的Byte数组中 7.getChars():将字符串复制到指定的数组中 8.indexOf():返回指定字符第一次出现的索引;lastIndexOf():从后向前查找 9.length() 10.matches():判断字符串是否匹配给定的正则表达式 11.reginMatches(int offset,String str,int offset,int len)判断指定区域的字符串是否相等 12.replace(),replaceAll(),replaceFirst()后两种方法参数可以是正则表达式 13.split():切分字符串 14.subString():返回子字符串 15.trim():忽略前导和尾部空白 16.toString()
1.增 append():在目标字符串后追加字符串 insert():将字符串插入到指定的位置 2.删 delete():删除指定的字符串 3.改 replace():替换字符串 4.反转 reverse():反转字符串
String:字符串常量,字符串长度不可变。在java底层中,String是char数组构成的,并且被声明为final类型。
StringBuffer:字符串变量(Synchronized,即线程安全)。如果要频繁对字符串内容进行修改,出于效率考虑最好使用 StringBuffer,如果想转成 String 类型,可以调用 StringBuffer 的 toString() 方法。Java.lang.StringBuffer 线程安全的可变字符序列。在任意时间点上它都包含某种特定的字符序列,但通过某些方法调用可以改变该序列的长度和内容。可将字符串缓冲区安全地用于多个线程。
StringBuilder:字符串变量(非线程安全)。在内部 StringBuilder 对象被当作是一个包含字符序列的变长数组。
使用原则:
1.如果操作少量的数据用String
2.单线程操作大量数据用StringBuilder
3.多线程操作大量数据用StringBuffer