• String 类


    String类

    声明及赋值方式

    String str=new String("111");
    
    String s="111"
    

    区别

    第一种是以引用的方式,在堆中存放数据,栈中存放地址;第二种在赋值时会在常量池中先查找是否有该字符串,如果没有则开辟新空间,并将地址存入栈,如果有则直接将地址存入栈

    • String 类代表字符串。

    • String 类不是基本数据类型,它是一个类。默认值是null。

    • String 字符串是常量,字符串的值在创建之后不能更改。

      给字符串重新赋值时,不会在堆中修改,而是重新开辟一块空间并修改栈中的地址

      int i=10;
      String str=new String("david");
      str="tom";
      

    • String 类是最终类,不能被继承。

    • String类的内存模型

      String类常用方法

    • charAt() 截取一个字符

    • length() 字符串的长度

    • getBytes() 将字符串变成一个byte数组

    • equals() 和 equalsIgnoreCase() 比较两个字符串是否相等,前者区分大小写,后者不区分
      equals()比较的是堆中的数据,==比较的是栈中

      • startsWith() 和 endsWith() 判断字符串是不是以特定的字符开头或结束

      • concat() 连接两个字符串

      • substring() 截取字符串【包前不包后】

      • indexOf() 和lastIndexOf() 前者是查找字符或字符串第一次出现的地方,后者是查找字符或字符串最后一次出现的地方

      • compareTo() 和compareToIgnoreCase() 按字典顺序比较两个字符串的大小,前者区分大小写,后者不区分

      • replace() 替换

      • split() 按指定字符切割

    • StringBuffer和StringBuilder( 不开辟新空间 )

      • 场景:因为String是常量,每次修改其值都需要重新在堆内存中开辟新空间。这样再频繁对变量进行赋值操作时就会导致内存浪费。所以再需要频繁对变量值进行修改的时候,可以使用StringBuffer和StringBuilder
      • 方法:
        • append() 在原字符串后拼接字符
        • insert() 在原字符串前拼接自发
        • toString() 转化成字符串
        • reverse() 反转字符
      • 区别:
        • StringBuffer线程安全
        • StringBuilder非线程安全
    • Date类

      • Date类在java.util.Date中。是进行日期操作的类。Date类API
      Date now = new Date();//获得当前时间
      Date now = new Date(long millisec)//参数是从1970年1月1日起的毫秒数
      
      • 使用SimpleDateFormat类对日期类型进行格式化,形成字符串。
      public static void main(String[] args) {
         Date now = new Date(); // 创建一个Date对象,获取当前时间
         // 指定格式化格式
         SimpleDateFormat f = new SimpleDateFormat("今天是 " + "yyyy年MM月dd日HH点mm分ss秒");
              System.out.println(f.format(now)); // 将当前时间袼式化为指定的格式
          }
      }
      
    ljm要加油
  • 相关阅读:
    MySQL启动和关闭命令总结
    MySQL数据库5.6版本首次安装Root密码问题
    tomcat 9性能调优注意事项
    扫除减脂之路上的几个小障碍
    MySQL常见面试题
    关于邮箱发送邮件二之附件及图片
    关于邮箱发送邮件
    关于算法
    python中常见的数据类型
    C++实现复数类的输入输出流以及+-*/的重载
  • 原文地址:https://www.cnblogs.com/ljmmm1/p/14250442.html
Copyright © 2020-2023  润新知