常用API——String, ArrayList

什么是API?

是Java提供的可以直接调用的程序,可以在API文档中查询

String类

String也被称为不可变字符串类型,他的对象在创建后不可改变,其指向的内容可以改变。

创建字符串对象的两种方法
//直接用双引号得到字符对象
String name="中国";
System.out.println(name);
//创建字符串对象
String s1=new String();
System.out.println("s1");//创建空字符串对象

String s2=new String("中国");
System.out.println("s2");//根据输入字符串内容创建字符对象

char[] c1={"中","国"}
String s1=new String(c1);
System.out.println("c1");
//输出:中国

byte[] b1={1,2}
String s1=new String(b1);
System.out.println("b1");
//输出:12

 这两种方式的区别(面试题常考):

以""方式输出的字符串对象储存在常量池中,且相同内容只会储存一份

通过构造器new对象,每new一次产生一个新对象,放在堆内存中。通过下面代码理解:

String s1="abc";
String s2="abc";
System.out.println("s1==s2");//true

String s1=new String("abc");
String s2=new String("abc");
System.out.println("s1==s2");//false

String常用方法

1.length()方法  获取字符串长度

String str = "abcdef";
System.out.println(str.length());//输出结果:6

2.charAt(int index)方法  传递一个下标参数,返回字符串对应位置的字符

String str = "abc";
System.out.println(str.charAt(1));//输出结果:b

​​​​3.indexOf()方法  传递某个字符,返回在字符串中的第一个位置

String str = "abcabc";
System.out.println(str.indexOf('a'));//输出结果:0


4.subString(int start)方法  默认是取到字符串末尾

String str = "abcdef";
System.out.println(str.subString(2));//输出结果:cdef


5.subString(int start,int end)方法 注:范围左闭右开,不包含下标为end的那位

String str = "abcdefgh";
System.out.println(str.subString(2,5));//输出结果:cde


6.equals()方法 判断字符串内容是否相同,区分大小写

equalsIgnoreCase()和equal()用法相同,只是不区分大小写,只关心内容是否相同

String str1 = "abc";
String str2 = "ABC";
System.out.println(str1.equals(str2));//输出结果:false

String类还有很多API,可以查阅API文档进一步了解。

ArrayList类

ArrayList类代表集合类,其大小以及存入的内容类型并不固定,比数组更好用。

ArrayList list=new ArrayList();
list.add("中");
list.add("国");
System.out.println(list.add("中"))//true
System.out.println(list)//[中,国]

ArrayList<>是一个泛型类,使用时可以指定类型

ArrayList<String> s1=new ArrayList<>()//说明该对象只操作字符类型的数据
ArrayList<Integer> i1=new ArrayList<>()//说明该对象只操作int类型的数据

 

删除 ArryList中的元素值的两种方法:

//遍历找到要删除的数据之后i的值减1
for(i=0;i<list.length;i++){
int a=list.get(i);
if(a<80){
list.remove(i);
}
i--;
}
//倒着遍历集合删除就ok
for(i=list.length-1;i>=0;i--){
int a=list.get(i);
if(a<80){
list.remove(i);
}
}

 小Tips:

  • new对象放在堆内存中。
  • 方法栈内存中。
  • 集合中储存的不是对象本身而是对象的地址。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值