多态面试轻微定义
1. 继承
2. 方法重写
3. 父类引用指向子类对象
4. 重写:子类父类签名大部分相同,如果返回类型是引用类型,可以使用父类的放回类型的子类;
final:修饰类,方法,变量;
字符串
1.8之前,字符串常量池【方法去,永久代】
1.8之后,元数据区【本地内存,jvm以外的内存】,迁移到堆中,任然不会被轻易回收;
1.9之前,字符串底层char【】数组,
**国际标准:iso-8859-19(Latin-1);**
**char用的是unicode-16字符集;**
String一串字符串,9之前是10个字节,之后是5个字节;
**字符串鱼任何类型相加,都会成为字符串**
字符串不可变,但是可以被共享
----------------------------------------------------------------------
比大小
String.compareTo;
----------------------------------------------------------------------
获取制定索引处的字符
String.charAt();
----------------------------------------------------------------------
校验某个字符串是否符合某个格式
String.matches(); <具体格式可看api文档>
----------------------------------------------------------------------
从某个位置开始截取,截到尾部/或者从某个位置截到某个位置(不截头截尾)
String.substring();
----------------------------------------------------------------------
转大写,转小写
String.toUpperCase();
String.toLowerCase();
----------------------------------------------------------------------
比大小,负数左小右大,正数左大右小,一样大就是0;注:正负多少无所谓,负数整数就行
String.compareTo();
----------------------------------------------------------------------
字符串长度
String.length();
----------------------------------------------------------------------
字符串转char数组
String.toCharArray();
----------------------------------------------------------------------
判断是不是空字符串
String.isBlank();
----------------------------------------------------------------------
trim只能截取ascii的空白字符,strip可以截取unicode的空白字符(仅限jdk11)。
String.strip()和String.trim();的区别,
----------------------------------------------------------------------
全部替换
String.replaceALL(XXX,XXX);
----------------------------------------------------------------------
返回常量池里的引用
例如:String a="10";
String b=new String("10);
sout (a==b.intern());
返回值是true;
String.intern();
----------------------------------------------------------------------
判断是否包含某个字符串
String.contains;
----------------------------------------------------------------------
判断字符串第一次下标位置,如果不存在返回-1;
String.indexOf();
----------------------------------------------------------------------
返回字符串最有一次出现的位置
String.lastIndex();
----------------------------------------------------------------------
字符串转正字节数组 || 编码
String.getBytes();
----------------------------------------------------------------------
判断某个字符串已什么开头
String.startsWith();
----------------------------------------------------------------------
判断某个字符串是否已什么结尾
String.endsWith();
----------------------------------------------------------------------
切割字符串(切割返回数组)
String.split();
毫秒级别时间戳(1970.01.01.00:00:00)到当前系统时间,经过多少秒
System.currentTimeMillis();
//起始时间
long start = System.currentTimeMillis();
//StringBuilder是一个可变的字符串序列,字符串的缓冲实现
StringBuilder stringBuilder=new StringBuilder("aaa");
for (int i = 0; i < 1000000; i++) {
stringBuilder.append("111");
}
//结束时间
long end = System.currentTimeMillis();
System.out.println(end-start);
StringBuilder(方法)
//字符串反转
StringBulider.reverse();
字符串的修改
StringBuilder.setCharAt();
Integer(包装)
字符串转Integer
String nums="11#2#333#444#55";
String[] splitNums = nums.split("#");
int sum=0;
for (int i = 0; i < splitNums.length; i++) {
sum+=Integer.parseInt(splitNums[i]);
}
System.out.println(sum);
判断空白有多少个!
String s3 = "a qwq sss qwewe";
int count = 0;
for (int i = 0; i < s3.length(); i++) {
char c = s3.charAt(i);
// if((c+"").isBlank())
if(Character.isWhitespace(c))
count++;
}
System.out.println("空白字符数量:"+count);
以上内容均为自己理解,不作为准确定理。 选择性观看,持续跟新进度,喜欢感谢关注 CSDN博主:One_Gun