最近在做压缩,发现很多时候都要调用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日期判断方法小结" 在JAVA语言中,日期判断是非常重要的一部分,以下是常见的日期判断方法的总结: 1. 判断某年是否为润年 判断某年是否为润年是日期判断的基本方法之一。该方法可以使用以下代码实现: ```...
- **StringBuffer/StringBuilder** 是可变的字符串类,适合在多线程环境下进行大量字符串操作,它们提供了类似于String的方法,如 `append()` 和 `insert()`,但在性能上更优。 2. **基本类型包装类**: - Java的...
课堂小结中,强调了本节课的学习重点是理解构造方法的作用,以及掌握方法重载的实现方式。课后作业则可能要求学生自己设计和实现带有构造方法和重载方法的类,并进行实际操作,以此巩固所学知识。 总的来说,这节课...
// 对于非包装类Long的子类,如Integer、Short等,可以使用parseLong方法 ``` 当处理从Map获取的值时,这个过程尤为重要,因为Map的值通常是`Object`类型: ```java Map<String, Object> map = new HashMap(); map....
### Java笔试题小结 #### 1. Java 字符串(String) **问题**: String 类的特点是什么?与 StringBuffer 的区别? **分析与解答**: `String` 类在 Java 中是不可变的,即一旦创建了一个字符串对象,其内容就不能...
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 ...
- 抽象类:可以有字段和实现的方法,一个类只能继承一个抽象类。 - 接口:只包含常量和抽象方法,一个类可以实现多个接口。 以上只是Java基础知识的一部分,学习Java还需要掌握异常处理、IO流、多线程、网络编程...
通过继承该类并重写相关方法,开发者可以轻松实现数据库的创建和升级。 1. **构造方法**: ```java public SQLiteOpenHelper(Context context, String name, CursorFactory factory, int version); ``` - `...
### 事件编程小结 在Java中,事件处理机制是一种非常重要的编程模型,尤其是在图形用户界面(GUI)设计中。事件编程允许程序响应用户的输入,如点击按钮、移动鼠标等。本文将详细介绍Java中的事件处理机制,特别是...
以下是对Java输入语句的详细总结,主要介绍两种常用的方法:`Scanner`类和`BufferedReader`类。 1. 使用`Scanner`类: `Scanner`类是Java的标准输入输出库`java.util`的一部分,它提供了方便的文本输入功能。要使用...
这里我们将深入探讨两种主要的输入方式:使用`Scanner`类和`BufferedReader`类。这两种方法都允许从控制台获取用户输入,但它们的使用方式和适用场景有所不同。 1. 使用`Scanner`类 `Scanner`类是Java的标准输入...
简单网络管理协议(SNMP)是网络管理领域中广泛应用的标准协议,由互联网工程任务组(IETF)制定,旨在简化网络设备的管理和监控。SNMP建立在简单网关监视协议(SGMP)之上,它定义了一组消息结构、操作方法和语法,...
### Java集合小结 #### 一、集合的概念与重要性 集合是Java编程语言中用于存储、管理和操作数据的一种重要工具。它提供了多种数据结构来适应不同的应用场景,从而有效地提高程序开发效率。从数据结构的角度来看,...
多态在实际编程中有广泛的应用,例如在集合框架中,可以使用List接口处理各种类型的列表,无论列表实际存储的是String、Integer还是自定义对象,只要实现了List接口的类都可以处理。 5.5 构造方法与多态 构造方法与...
小结一下: * Runtime exceptions: 在定义方法时不需要声明会抛出runtime exception; 在调用这个方法时不需要捕获这个runtime exception; runtime exception是从java.lang....
在这个示例中,`Mytest`类中的`print`方法将由C++实现。为了使Java能够识别该方法,我们需要在Java代码中加载名为“`Mytest`”的动态链接库。 #### 2. 生成C/C++头文件 接下来,通过命令行工具生成C/C++头文件: ...
#### 四、小结 理解并正确处理Java中的异常对于编写健壮、可靠的应用程序至关重要。通过了解各种异常的特性和如何有效地捕获和处理异常,可以显著提高程序的质量和稳定性。希望本文介绍的几种常见的运行时异常能够...
Java HashMap 遍历和删除元素方法小结 Java HashMap 是一种常用的数据结构,用于存储键值对儿,但是在遍历和删除元素时,需要注意一些特殊的情况,否则可能会出现异常或错误。本文将介绍 Java HashMap 遍历和删除...
这里需要注意的是,当读取整数和浮点数时,需要使用 `Integer.parseInt()` 和 `Float.parseFloat()` 将字符串转换为对应的数值类型。 在使用 `BufferedReader` 时,一个重要的注意事项是,如果需要读取多行,需要...