String类和Integer类中的方法小结

26 篇文章 0 订阅
19 篇文章 0 订阅
最近在做压缩,发现很多时候都要调用API文档中String类和Integer类的方法。因本人是java初学者,很多方法也需要边学边总结的,所以现在就将我这一阶段用到的两个类中的很多方法做一个总结归纳。 
一.String类方法总结 
1.contains方法,public boolean contains(CharSequence s)当且仅当此字符串包含指定的 char 值序列时,返回 true。这个方法在查找指定的字符串是否在总的字符串中很常用。具体的测试代码如下 
public class stringTest { 
public static void main(String args[]){ 
String s = "aa|bb;cc|dd;ee|ff;gg|hh"; 

if(s.contains("aa")){ 
System.out.println("包含了该字符串"); 
}else{ 
System.out.println("不包含该字符串"); 



运行结果为:包含了该字符串。 这个方法返回的是一个bool值,当包含指定的字符序列时,返回true,否则返回false。 

2.compareTo方法:按字典顺序比较两个字符串。如果按字典顺序此 String 对象位于参数字符串之前,则比较结果为一个负整数。 
如果按字典顺序此 String 对象位于参数字符串之后,则比较结果为一个正整数。如果这两个字符串相等,则结果为 0;具体测试代码如下 
public class stringTest { 
public static void main(String args[]){ 
String t="caa"; 
    String t1="ac"; 
    
    System.out.println(t.compareTo(t1)); 



这段代码运行的结果是 2,显然字典顺序中c比a的位置要大,所以返回的是一个正值 2。 

3.lastIndexOf,substring和replace方法。 
lastIndexOf方法:public int lastIndexOf(int ch)返回指定字符在此字符串中最后一次出现处的索引。与之对应的是IndexOf(int ch)方法,返回在此字符串中第一次出现指定字符处的索引,从指定的索引开始搜索。 

substring方法:public String substring(int beginIndex,int endIndex)返回一个新字符串,它是此字符串的一个子字符串。该子字符串从指定的 beginIndex 处开始,直到索引 endIndex - 1 处的字符。因此,该子字符串的长度为 endIndex-beginIndex。 

replace方法:replace 
public String replace(char oldChar,char newChar)返回一个新的字符串,它是通过用 newChar 替换此字符串中出现的所有 oldChar 得到的。 
具体的测试代码如下 
public static void main(String args[]){ 
String s = "E:/eclipse/Java/jdk1.6.0_04"; 

int index = s.lastIndexOf('/'); 
String str = s.substring(0, index); 

str = str.replace("Java", "J2EE"); 

System.out.println(str); 


这段代码运行的结果是 E:/eclipse/J2EE 
解析:int index = s.lastIndexOf('/')得到最后一个'/'的索引位置。String str = s.substring(0, index);截取最后一个'/'之前的字符串。str = str.replace("Java", "J2EE");把句中的Java替换成J2EE。 


4.split方法:根据给定正则表达式的匹配拆分此字符串。 注意该方法的作用就像是使用给定的表达式和限制参数 0 来调用两参数 split 方法。因此,所得数组中不包括结尾空字符串。 具体测试代码如下 
public static void main(String args[]){ 
String s = "aa|bb;cc|dd;ee|ff;gg|hh"; 

String[] arr = s.split(";"); 

for(int i=0;i<arr.length;i++){ 
String ss = arr[i].replace('|', '>'); 
String[] strs = ss.split(">"); 
for(int j=0;j<strs.length;j++){ 
System.out.print(strs[j] +"\t"); 


        } 
其运行结果为:aa bb cc dd ee ff gg hh 
解析:String[] arr = s.split(";")这句语句 把字符串按照分号“;”拆开,其结果为:aa|bb     cc|dd ee|ff gg|hh,   然后再将'|'用repalce语句替换为 '>',最后再按照'>'将每个字符串拆开。(注:此处把'|'替换为 '>'再拆分的目的是因为拆分'|'可能会出错)。 

5.其它重要方法 
(1).getBytes 
public byte[] getBytes()使用平台的默认字符集将此 String 编码为 byte 序列,并将结果存储到一个新的 byte 数组中。该方法有时候很有用,比如在做文件压缩时,当用到dos.readChar()会出错时,可以考虑现将要读取的字符串转变成一个byte数组,写入该数组,然后再直接用read方法读出该数组。 
(2).isEmpty 
public boolean isEmpty()当且仅当 length() 为 0 时返回 true。 
(3).toCharArray 
public char[] toCharArray()将此字符串转换为一个新的字符数组。 


二.Integer类方法总结 
1.parseInt 
public static int parseInt(String s,int radix)hrows NumberFormatException 
使用第二个参数指定的基数,将字符串参数解析为有符号的整数。也可以不传入参数,直接传入一个数字字符串,这样就得到这个字符串去掉前面的0的一个数字,举例如下: 
public static void main(String args[]){ 
    String s="01001"; 
    int t=Integer.parseInt(s,2); 
    System.out.println(t); 

运行结果是 9。 
    其中int t=Integer.parseInt(s,2);这段代码的意思是将这个01码字符串由二进制转为10进制。 
    如果把上述这段代码改为int t=Integer.parseInt(s);其它的代码不变,则最后运行的结果为1001,即一个正常的10进制数。 
    与之类似的方法还有valueOf方法: public static Integer valueOf(String s,int radix)throws NumberFormatException返 

回一个 Integer 对象,该对象中保存了用第二个参数提供的基数进行解析时从指定的 String 中提取的值。将第一个参数解释为用第二个参数指定的基数表示的有符号整数,就好像将这些参数赋予 parseInt(java.lang.String, int) 方法一样。结果是一个表示字符串指定的整数值的 Integer 对象。上述代码中将int t=Integer.parseInt(s,2);替换为int t=Integer.valueOf(s,2);结果不变依然为9。 

2.toBinaryString 
public static String toBinaryString(int i)以二进制(基数 2)无符号整数形式返回一个整数参数的字符串表示形式。
测试的代码如下: 
public class IntegerTest { 
public static void main(String args[]){ 
    int s=10; 
    String t=Integer.toBinaryString(s); 
    System.out.println(t); 

}

运行的结果为:1010。即把一个10进制数转成了2进制数,得到的是该10进制数对应的2进制数的字符串。数值转换一件整型和字节之间的转换在做哈弗曼压缩时是很重要的,然后结合1中总结的,我们不难发现,灵活Integer类中的方法,实现各种数制间的转换是很容易的。 
    类似的方法还有toString:public static String toString(int i)返回一个表示指定整数的 String 对象。将该参数转换为有符号的十进制表示形式,以字符串形式返回它,就好像将参数和基数 10 作为参数赋予 toString(int, int) 方法。比如上述的代码中如果将 String t=Integer.toBinaryString(s);替换为String t=Integer.toString(s);则运行的结果为一个字符串 10。 

3.其它的常用方法还有 
(1)compareTo(Integer anotherInteger) 在数字上比较两个 Integer 对象。该方法与String中总结的compareTo类似。 
(2)byteValue : public byte byteValue();以 byte 类型返回该 Integer 的值。 
(3)reverse :public 
static int reverse(int i);返回通过反转指定 int 值的二进制补码表示形式中位的顺序而获得的值
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值