1. String类,代表字符串
    a) 是一个final类,无法被继承,是不可变的字符序列,内部定义了final char[];
    i. 不可变性体现:
  2. 字符串重新赋值,需要重写指定内存区域赋值,不能再原有的value赋值
  3. 连接操作,也需要重新指定内存区域赋值
  4. Replace()修改字符串时,重新制定内存区域赋值
    b) 实现了Serializable(字符串可序列化),comparable接口
    c) 通过字面量方式赋值:字符串声明在字符串常量池(位于方法区中),字符串常量池中不会有相同内容的字符串
  5. String实例化方式
    a) 字面量方式
    i. 数据声明在方法区字符串常量池
    b) New加构造器方式,创建了新的对象
    i. 数据在堆空间中先开辟空间后,堆中再指向字符串常量池
    c) 字符串拼接:
    i. 常量与常量:结果在常量池,若变量用final定义则也是这个结果。
    ii. 若有变量参与拼接:结果在对空间中(地址值指向堆空间)
    iii. 若上述的拼接结果调用intern()方法,返回值就在常量池中
  6. String常用方法
    a) Int length(): 返回字符串长度:return value.length();
    b) Char charAt(int index): 返回索引处的字符
    c) Boolean isEmppty(): 判断是否为空数组: return value.length==0;
    d) String toLowerCase();//toUpperCase: 所有字符转化为大小写
    e) Trim(): 忽略前边和后边的空白
    f) Boolean equals(Object obj):比较字符串内容是否相同
    g) Boolean equalsIgnoreCase(Object obj):忽略大小写比较
    h) String concat(String str): 将指定的字符串连接到此字符串结尾,相当于“+”
    i) Int compareTo(Object obj): 比较两字符串大小,涉及到字符串排序
    j) String substring(int beginIndex, int endIndex): 截取从beginIndex到endIndex(不包括end 左闭右开!!)的索引的字符串
    k) Boolean endWith(String suffix):
    l) Boolean startWith(String prefix):
    m) Boolean startWith(String prefix, int toffset):
    i. 测试此字符串是否以指定的后缀、前缀、索引开始或结束
    n) Boolean contains(CharSequence s):判断是否包含字符串s
    o) Int indexOf(String str): 返回指定子字符串在字符串中第一次出现处的索引,没找到返回-1
    p) Int lastIndexOf(String str): 返回指定子字符串在字符串中最右边出现处的索引
    q) Int indexOf(String str,Int i): 返回指定子字符串在字符串中i索引开始找,若出现相同的子字符串返回索引,没找到返回-1
    r) String replace(Char oldChar, Char newChar): 返回一个newChar替换oldChar的字符串
    s) String replace(charSequence target, CharSequence replacement): 替换一整个序列
    t) Boolean match(String regex): 字符串是否匹配给定的正则表达式
    u) String split(String regex, int limit)
  7. String 与 char[] 之间的转换
    a) Stringchar[]: str.toCharArray(); 调用String的toCharArray();
    b) Char[]String: new String(char[]),调用String构造器;
  8. String与byte[]转换
    a) Str—>byte[]: str.getBytes();
    b) Byte[]Str: new String(bytes),使用String构造器;
  9. StringBuffer
    a) 可变的字符序列,底层char[]存
    b) 线程安全的,效率低
    c) 新建时,相当于底层创建长度是16的char数组
    d) 扩容问题:默认扩容为原来的两倍+2, 将原有的数组的元素复制到新的数组中。Newcapacity<<1(左移一位乘2)
    e) SB.length不一定等于16,返回有多少个元素。
  10. StringBuilder
    a) 可变的字符序列,底层char[]存
    b) 线程不安全的,效率高
    c) 创建时,相当于底层创建长度为原长度+16的char数组(“abc”.length + 16);
  11. StringBuffer常用方法
    a) Append():字符串拼接
    b) Delete(int start, int end):删除指定位置元素,左闭右开。Abc11delete(2,4)ab1
    c) Replace(int start, int end, String str):替换
    d) Insert(int offset, xxx):在指定位置插入XXX
    e) Reverse: 反转
    f) Int indexOf(String str): 返回字符串首次出现的位置
  12. JDK8之前的日期和时间接口
    a) Public static long currentTimeMillis():返回1970.01.01到现在的毫秒时间差(时间戳)
  13. Date类
    a) Java.util.Date
    i. toString():显示当前的年月日时分秒 星期 时区
    ii. getTime():获取毫秒数(时间戳)
    iii. 构造器Date(): 创建当前时间的Date对象
    iv. 构造器Date(Long 时间戳): 创建时间戳的Date对象
    b) Java.sql.Date
    i. 构造器Date(时间戳): 创建时间戳的Date对象
  14. Text.SimpleDateFormate类
    a) 实例化,方法非静态
    i. 构造特定的格式,使用指定的方式进行格式化
  15. SimpleDateFormat sdf1 = new SimpleDateFormat(“yyyy.MMMM.dd hh:mm:ss aaa”);
    b) 对日期Date类的格式化和解析
    c) 格式化:日期字符串
    i. String format = sdf.format(new Date());
    d) 解析: 字符串日期
    i. Date date1 = sdf.parse(str);
  16. Calender日历类
    a) 实例化
    i. Calender cal = Calender.getInstance();
    ii. Get(): cal.get(Calender.DAY_OF_ MONTH);返回当前月的日期
    iii. Set():
    iv. Add():
    v. getTime():
    vi. setTime():
  17. JDK8的时间日期操作
  18. LocalDate LocalTime LocalDateTime类
    a) 需要实例化
    i. 类名.now(): LocalDate ld = LocalDate.now();
    ii. 类名.of(): LocalDateTime ldt = LocalDateTime.of(2020,10,6,13,23,12);–>yyyy,MMMM,dddd,hh,mm,ss不用考虑偏移量的问题
    b) Get()
    i. Ldt.getDateOfMonth()/DateOfWeek…获取月(周)中的第几天
    c) withXxx()体现了不可变性
    i. 使用withXxx()进行日期修改后,原本的日期不发生改变
  19. Instant类
    a) 时间线上的瞬时点,记录应用程序的时间戳
    b) 实例化:Instant.now(); instant.atOffset(ZoneOffesrt.ofHours(8));获取中国时区标准时间,通过添加偏移量。
    c) Instant.toEpochMilli(); 获取对应的毫秒数
    d) Instant.ofEpochMilli(Long long): 通过给定的毫秒数创建instant实例
  20. DateTimeFormatter
    a) 用于格式化和解析日期或者时间,提供了三种格式化的方法。
    i. 自定义格式化初始化
  21. DateTimeFormatter formatter=DateTimeFormatter.ofPattern(“yyy-MM-dd hh:mm:ss”);
    b) 格式化:日期字符串
    i. formatter.format(LocalDateTime.now());
    c) 解析:
    i. formatter.parse(String)
  22. Java比较器
    a) Java中的对象只能进行==和!=操作,无法比较大小
    b) 由于需要对对象进行排序,则需要比较大小。
  23. 自然排序lang.Comparable
    a) 实现comparable接口,重写comparaTo(obj)方法
    b) 在compareTo(obj)指明比较大小的方式
  24. 定制排序util.comparator

Java基础点:常用类相关推荐

  1. Java程序员从笨鸟到菜鸟之(五)java开发常用类(包装,数字处理集合等)(下)...

     本文来自:曹胜欢博客专栏.转载请注明出处:http://blog.csdn.net/csh624366188 写在前面:由于前天项目老师建设局的项目快到验收阶段,所以,前天晚上通宵,昨天睡了大半天, ...

  2. Java程序员从笨鸟到菜鸟之(五)java开发常用类(包装,数字处理集合等)(下)

    写在前面:由于前天项目老师建设局的项目快到验收阶段,所以,前天晚上通宵,昨天睡了大半天,下午我们宿舍聚会,所以时间有点耽误,希望大家见谅 上接: Java程序员从笨鸟到菜鸟之(四)java开发常用类( ...

  3. Java SE 常用类:枚举enum

    Java SE 常用类:枚举enum 1.enum 枚举 表示一种事物的所有可能|一种类型的所有情况. 软件包 java.lang 注意: 枚举类型不能自定义实例化,实例由程序猿|枚举类型自己提供,因 ...

  4. Java程序员从笨鸟到菜鸟之(四)java开发常用类(包装,数字处理集合等)(上)

    本文来自:曹胜欢博客专栏.转载请注明出处:http://blog.csdn.NET/csh624366188 一:首谈Java中的包装类 Java为基本类型提供包装类,这使得任何接受对象的操作也可以用 ...

  5. java map常用类及其方法_Day50.Map类常用的方法 -Java常用类、集合#、IO

    Day50.Map类常用的方法 -Java常用类.集合#.IO Day50.Map类常用的方法 -Java常用类.集合#.IO Map类常用的方法 . 总结: 常用方法 添加: put(Object ...

  6. Java基础---常用类之Arrays工具类+基本类型的包装类

    常用类之Arrays工具类 1.binarySearch(int[] a,int key) 使用二分搜索法来搜索指定的 int 型数组 2.fill(int[] a,int val)将指定的 int ...

  7. Java基础---常用类之Math类 and Syetem类

    常用类-Math类 Math类:关于数学的类 这个类中封装了一些关于数学的方法 可以完成一些常用的数学操作 特点:1.final修饰的类 所以Math类没有子类的 不可以继承2.Math类中的构造方法 ...

  8. 菜鸟学JAVA之——常用类(StringBuffer、StringBuilder、Comparable、Comparator等)

    文章目录 常用类 字符串相关的类 一.String类及常用方法 二.StringBuffer.StringBuilder JDK 8 之前的日期时间API 一.System静态方法 二.Date类 三 ...

  9. Java笔记-常用类String

    常用类String 在 Java 中字符串属于对象,Java 提供了 String 类来创建和操作字符串. String 创建的字符串存储在公共池中. import java.util.Arrays; ...

  10. JAVA高级-常用类和常用方法

    常用类 String类 **String****类:代表字符串.**Java 程序中的所有字符串字面值(如 "abc" )都作 为此类的实例实现. String是一个final类, ...

最新文章

  1. python【力扣LeetCode算法题库】66-加一
  2. 一个免费的css编辑器——Free CSS Toolbox
  3. nedata实时监控服务器运行情况
  4. 报表网红是Tableau,提测网红是MadPecker
  5. 三位数的茎叶图怎么看_霍山石斛哪家好?霍山石斛怎么选择?
  6. 利用JMeter进行压力测试(1)(转)
  7. 搭建你的持续集成server - CruiseControl step by step(1)
  8. pytorch dataset读取数据流程_10条PyTorch避坑指南
  9. 云服务器Centos7.0 配置JAVA运行环境 (jdk8+tomcat7+mysql)
  10. JavaScript小技巧总结
  11. 【计算机视觉-从入门到精通系列】 第一章 基础知识
  12. CAD建模软件BricsCAD 22.2.03 for Mac
  13. 15.1 异常(异常的基本概念+自定义异常)
  14. eclipse的Windows builder使用问题,请指点
  15. 出租车计价器设计VHDL
  16. 主分区损坏diskgenius_DiskGenius怎么修复损坏分区 显示主分区损坏解决方法
  17. Halcon区域特征
  18. 都说ADAS不好用,那智能后视镜和车载智能行业该如何走下去?
  19. magisk安装失败_SyberiaOS 安装刷入教程(小白新手向)
  20. 罗马盘、大力盘、大圣盘等搜索网站,简单绕过付费

热门文章

  1. [BZOJ 4819] [SDOI 2017] 新生舞会
  2. Hyperledger Fabric 1.2 --- Chaincode Operator 解读和测试(一)
  3. [Python]数据类型、常量、变量和运算符(未完待续)
  4. Linux阶段总结shell脚本
  5. Spring MVC 环境搭建(一)
  6. 【转载】使用Nexus搭建Maven服务器详细配置
  7. 使用jquery-easyui写的CRUD插件(2)
  8. SortedMap接口
  9. STM32F4读写内部FLASH【使用库函数】
  10. 如何对自己做好正确的人生规划