java第三课笔记 常用类

  • 字符串String
    • 构造函数
      • String s1 = "a"; 此时s1直接指向方法区的常量池, 如果常量池中此时没有"a" 则会在常量池中申请空间 将"a"存入
        • 常量池中无重复数据, 如果数据完全相等, 则地址也就相同
      • String s2 = new String("b"); 此时s2先在堆中开辟内存, 再去访问方法区的常量池找"b", 没有的话申请空间, 存入b, 本质上存的是堆中的地址, 由堆中的地址指向"b"
      • s1 = s1 + s2; 此时 s1先复制一份, 复制这份放到堆中, 连接操作→位于堆中
    • 常用方法
      • equals(str) 返回boolean String类的equals() 比较的是值, 值相等返回true
        • 重写了父类Object的equals() 添加了按位比较的方法
      • equalsIgnoreCase(str) 返回boolean 忽略大小写比较
      • endsWith(str) 返回boolean 判断字符串是否以指定的后缀结束, 传入字符或字符串
        • 可以用于判断文件格式endsWith(".mp3");
        • startWith(str)
      • indexOf(s) 返回值int 取得指定字符首次出现在字符串中的位置
        • lastIndexOf(s) 字符最后一次出现的位置
      • length() 返回值int 获取字符串长度
      • split("/") 返回值String[] 以传入的信息为媒介, 将字符串切割成数组
      • substring(a,b) 返回值String 截取字符串, 从a位置开始, b位置结束[a, b)
      • replaceAll(a, b) 返回值String 把字符串中所有的a替换成b
        • replaceFirst() 返回值boolean 替换第一个, 返回是否替换成功
      • valueOf() 返回值String 转换成字符串类型
      • toUpperCase() 大写转换 toLowerCase() 小写转换
  • StringBuffer(安全)
    • 所有方法都有synchronized同步修饰词, 线程安全
    • 预先申请一块字符串缓冲区, 存放字符序列, 如果缓冲区满了, 会重新改变缓冲区的大小, 以容纳更多的字符序列
    • append() 添加字符
    • delete() 按照角标删除
    • insert(位置, 数据) 在固定位置插入数据
    • charAt() 检索
    • reverse() 逆序翻转
    • capacity() 容量
  • StringBuilder
    • 方法和StringBuffer基本相同
    • 不是同步的, 线程不安全, 速度较快
  • Math
    • Math.floor(3.8); →3 去掉小数点后边的数
    • Math.round(3.8); → 4 先将数字 +0.5再执行Math.floor();方法

posted on 2019-08-02 17:25  HeQingze  阅读(105)  评论(0)    收藏  举报