06-21一道面试-String字符串方法-StringBuilder方法

本文详细探讨了Java中的多态概念,包括继承、方法重写和父类引用指向子类对象。同时,深入讲解了字符串的特性和操作,如字符串常量池的变化、Unicode字符集以及各种字符串方法的使用。此外,还介绍了时间戳计算、StringBuilder性能优化以及Integer转换等编程技巧。最后,涉及到了字符空白判断和字符串切割等实用方法。
摘要由CSDN通过智能技术生成

多态面试轻微定义

 1. 继承
 2. 方法重写
 3. 父类引用指向子类对象
 4. 重写:子类父类签名大部分相同,如果返回类型是引用类型,可以使用父类的放回类型的子类;

final:修饰类,方法,变量;

字符串

1.8之前,字符串常量池【方法去,永久代】
1.8之后,元数据区【本地内存,jvm以外的内存】,迁移到堆中,任然不会被轻易回收;
1.9之前,字符串底层char【】数组,  
**国际标准:iso-8859-19Latin-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());
返回值是trueString.intern();
----------------------------------------------------------------------
判断是否包含某个字符串
String.contains;
----------------------------------------------------------------------
判断字符串第一次下标位置,如果不存在返回-1String.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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

One_Gun

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值