java工作遇到不会_Java学习——我在工作中遇到过的API(未完待续)

初学JAVA时,API太多,就没怎么记(估摸着也记不住),现在开始工作了,就把能遇到的API记录下来吧!

一、字符串操作

1. public String[] split(String regex, int limit)

regex作为分隔符,limit作为检索分隔符的次数。

描述:根据给定正则表达式的匹配拆分此字符串。

例如,String[] arr = "boo:and:foo".split("o",5);

split()对给定的字符串,从左往右依次查找regex,第一次找到后:删除该regex,并将字符串划分为两个子串(子串可以为空)。

查找到一个regex就做一次分割,limit对分割次数进行限制。

一般用法:String[] arr = "11,22,33,44,55".split(",");

特殊用法:String[] arr = "abcdsss".split("");  //regex为空,将字符串转换为字符数组。regex也可为空格“ ”,对一句英语拆分成单词。

注意:一些特殊字符需要转义,例如", * + | "需要在前面加上"\\","\"需要写成"\\\\";另外,如果分隔符有多个,那么就需要使用'|',如str.split("-|#");就是将str按照‘-’和‘#’进行分割。

2. int indexOf(String str,int startIndex)

参数String str可换成Char ch,也可换成字符串变量,表示欲匹配的子串或字符。

参数int startIndex可省,表示从哪个索引处开始检索(包括该索引处)。

描述:返回指定子字符串在此字符串中第一次出现处的索引,从指定的索引开始(如果有第二个参数的话)。

一般用法:int index = “asdZTuwuw”.indexOf("ZT");

3. int lastIndexOf(String str, int startIndex)

描述:返回指定子字符串在此字符串中最后一次出现处的索引,从指定的索引开始反向搜索。

4. boolean equals(Object obj)

描述:将此字符串与指定的对象比较。当且仅当该参数不为 null,并且是与此对象表示相同字符序列的 String 对象时,结果才为 true。

相关方法:               描述:

boolean equalsIgnoreCase(String)   忽略大小写的equals()

booleanstartsWith(String,index)       判断字符串从index处开始是否以参数为前缀

boolean endsWith(String,index)     判断字符串从index处开始是否以参数为后缀

5. String substring(int sartIndex,int endIndex)

描述:(含头不含尾)返回一个新字符串,其长度为endIdex-startIndex。

注意:当 startIndex>endIndex 或者 startIdex<0 或者 endIndex>字符串长度 或者 startIndex>字符串长度 时,抛出异常:IndexOutOfBoundsException。

例如: "hamburger".substring(4, 8)   returns "urge"

6. String trim()

描述:返回一个字符串的副本,不包含原字符串的开头和末尾的空白。(如果字符串的开头和末尾没有空白,则返回原字符串)

7. int compareTo(String anotherString)

比较两个字符串,有三种情况:

①一者是另一者的开头一段,此时返回字符串长度差值:this.length()-anotherString.length()

②双方均不是对方的开头一段,此时返回第一次出现不同字符的字符差值:this.charAt(k)-anotherString.charAt(k)

③当且仅当二者完全相同时,返回0.

相关方法:            描述:

int compareToIgnoreCase()   忽略大小写的 compareTo()

8. String replace(old, new)

描述:返回一个新的字符串,将原字符串中的old替换为new(参数可以是Char,也可以是CharSequence)

例如:String newStr = "aaa".replace("aa",'b'),    执行结果:newStr = "ba"

相关方法:               描述:

replaceAll(String regex, String new)   对原字符串中所有符合 regex 的,使用 new 进行替换。

replaceFirst(String regex, String new)     对原字符串中第一个符合 regex 的,使用 new 进行替换。

9. 字符串转换

相关方法:                描述:

String toUpperCase()           将字符全部转化为大写

String toLowerCase()           将字符全部转化为小写

String toString()            返回字符串

Char[] toCharArray()          返回字符串所对应的字符数组

10. char charAt(int index)

描述:返回指定索引处的字符。

11. String valueOf()和String toString()

描述:二者均是将对象转化成字符串。

差异:toString()在对null做转换时,会报异常;

valueOf()是对toString()的封装,会先对参数是否为NULL做判断,是null就返回字符串"null",不会抛异常。

public staticString valueOf(Object obj){return (obj == null) ? "null":obj.toString();

}

int i = 10;

String str= String.valueOf(i);

12. put

13. parse

14.

二、数组 [ ]

1. static List Arrrays.asList()

描述:将数组转化为 List,参数为数组。对转化前后任何一方的修改均会同步到另一方(二者均是引用的一个东西)。

注意:该方法将生成一个新的 List ,不会对原数组造成影响。

List list = Arrays.asList("Monday","Tuesday","Friday");//list1.size()=1,把data1当成1个元素(所以应该使用封装类型)//sop(data1.equals(list1.get(0)));输出为true

//Integer[] data1 = new Integer[]{1,2,3,4,5};

Integer[ ] data1 = {1,2,3,4,5};

List list1=Arrays.asList(data);//list2.size()=5,把data2当成5个元素

int[] data2 = {1,2,3.4.5};

List list2= Arrays.asList(data2);

Arrays.asList()返回的对象并不是传统意义上的集合,而是该工具类的静态私有内部类,该类没有提供add()和remove()方法,所以如果数组在转换后要求长度可变,则不能使用asList()方法。

2. public static void arraycopy(Object src,int srcIndex,Object target,int targetIndex,int length)

描述:System提供的一个静态方法,用以实现数组间的复制。从源数组src的srcIndex索引处开始取值,从目标数组的targetIndex索引处开始赋值,复制的长度为length。

int[] arr1 = {1,2,3,4};int[] arr2 = new int[arr1.length];

System.arraycopy(arr1,0,arr2,0,arr1.length);

注意:① 如果arr1是double型,arr2是int型,即赋值过程有数据类型转换出现,则结果为:仅对格式相同的进行复制,格式不同的不转换也不复制。

②数组间的复制,有时不能简单的使用等号 ‘a=b’ ,这种赋值只是将b的引用赋值给a。

3. static int[] copyOf(int[] arr,int length)

描述:复制指定的数组arr,返回一个新的数组,当新数组的长度length超出arr.length时,超出位置保留初始值(int型数组的初始值为0)。

int[] arr1 = {1,2,3,4};int[] arr2 = Arrays.copyOf(arr1,arr1.length);

4. static void Arrays.sort( 数组 )

描述:对数组按照升序进行快速排序,是在原数组上进行排序,不会生成新的数组。

注意:需要导入java.util.Arrays

另外该方法还可以对实现了Comparator接口的类的对象进行排序。

//数值型数组,升序

int[] arr = new int[]{1,8,2,3,7,4};

Arrays.sort(arr);//字符型,先大写后小写

String[] strArray = new String[]{"s","A","b"};

Arrays.sort(strArray);

5. 打印数组

数组不同于List,不能使用数组名直接进行打印,而List则可以,所以当需要打印数组的时候,可以先使用 Arrays.asList() 进行转换。

int[] data = new int[]{1,2,3,4,5,6};

System.out.println(Arrays.asList(data));

三、列表 List

List可细分为ArrayList、LinkedList、Vector

四、栈 Stack

1. 基本使用

importjava.util.Stack;

Stack stack = new Stack();//1. 入栈

stack.push(5);//2. 出栈:出栈操作前,最好先对栈进行非空判断

stack.pop();//3. 返回但不弹出栈顶元素

stack.peek();//4. 对栈进行非空判断

stack.empty();

stack.isEmpty();

1.1 empty() 和 isEmpty() 的区别:

empty():栈自己的方法,用以测试“栈是否为空”。

isEmpty():栈继承自java.util.Vector的方法,用以“测试此向量是否不包含组件”。

总结:二者来源不同,单就Stack而言,二者功能相同,可以互换。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值