`
Codestarter
  • 浏览: 11126 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类

String类和Integer类中的方法小结

阅读更多
    最近在做压缩,发现很多时候都要调用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 值的二进制补码表示形式中位的顺序而获得的值。
分享到:
评论

相关推荐

    Java精华(免费版)

     小结一下:   * Runtime exceptions:   在定义方法时不需要声明会抛出runtime exception;   在调用这个方法时不需要捕获这个runtime exception;   runtime exception是从java.lang....

    php中各种定义变量的方法小结

    常量只能包含标量数据(boolean,integer,float 和 string)。 调用常量时,只需要简单的用名称取得常量的值,而不能加“$”符号,如:echo CONSTANT; 注: 常量和(全局)变量在不同的名字空间中。这意味着例如 ...

    集合问题小结

    一、泛型 1、泛型的用处 在封装时,提高代码的可复用性,使用了泛型可以根据用户要求选择传递的数据类型。 2.泛型的格式 ...4.泛型在类中的使用 class TypeA { public T test1(T t) { return t; } 这里是定义

    python字符类型的一些方法小结

    Convert a number or string to an integer, or return 0 if no arguments are given. If x is floating point, the conversion truncates towards zero. If x is outside the integer range, the function ...

    js wmp操作代码小结(音乐连播功能)

    WMP-网页中常见属性和方法 &lt;object classid=”CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6″ type=”application/x-oleobject” id=”wmp” width=”0″ height=”0″ style=”width:0px;height:0px;”&gt;&lt;/...

    DLL的动态下载运行.mht

     小结  在一个中等以上规模的企业中,网络中的节点往往有几百、上千个,客户端软件的升级是网络管理员最感到头疼的事,使用本文介绍的自动下载方法,可以极大地减轻管理员的工作负担。另外利用C++、VB等编制的...

    VB6.0动态加载ActiveX控件漫谈

    四、小结 ---- 通过使用动态加载ActiveX控件使用庞大的应用程序变得很小,将不同的 ActiveX控件进行各种组合,使应用程序更加灵活多变,如您的应用系统要处理三十种门禁, 而某个具体的用户可能只有一种或两种门禁...

    PHP 八种基本的数据类型小结

    integer (整型) float (浮点型, 也称作 double) string (字符串) 两种复合类型: array (数组) object (对象) 最后是两种特殊类型: resource (资源) NULL (NULL) 为了确保代码的易读性,本...

    PHP常用字符串函数小结(推荐)

    is_integer() //同上 is_string() //判断是否为字符串 is_object() //判断是否为对象 is_array() //判断是否为数组 is_null() //判断是否为null is_file&#40;&#41; //判断是否为文件 is_dir() //判断是否为目录 is_...

    cpp-算法精粹

    小结 查找 Search for a Range Search Insert Position Search in Rotated Sorted Array Search in Rotated Sorted Array II Search a 2D Matrix Search a 2D Matrix II Find Minimum in Rotated Sorted Array Find ...

    C语言程序设计标准教程

    本课介绍C语言程序设计的基本方法和基本的程序语句。 从程序流程的角度来看,程序可以分为三种基本结构, 即顺序结构、分支结构、循环结构。 这三种基本结构可以组成所有的各种复杂程序。C语言提供了多种语句来...

Global site tag (gtag.js) - Google Analytics