Java基础点:常用类
- String类,代表字符串
a) 是一个final类,无法被继承,是不可变的字符序列,内部定义了final char[];
i. 不可变性体现: - 字符串重新赋值,需要重写指定内存区域赋值,不能再原有的value赋值
- 连接操作,也需要重新指定内存区域赋值
- Replace()修改字符串时,重新制定内存区域赋值
b) 实现了Serializable(字符串可序列化),comparable接口
c) 通过字面量方式赋值:字符串声明在字符串常量池(位于方法区中),字符串常量池中不会有相同内容的字符串 - String实例化方式
a) 字面量方式
i. 数据声明在方法区字符串常量池
b) New加构造器方式,创建了新的对象
i. 数据在堆空间中先开辟空间后,堆中再指向字符串常量池
c) 字符串拼接:
i. 常量与常量:结果在常量池,若变量用final定义则也是这个结果。
ii. 若有变量参与拼接:结果在对空间中(地址值指向堆空间)
iii. 若上述的拼接结果调用intern()方法,返回值就在常量池中 - 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) - String 与 char[] 之间的转换
a) Stringchar[]: str.toCharArray(); 调用String的toCharArray();
b) Char[]String: new String(char[]),调用String构造器; - String与byte[]转换
a) Str—>byte[]: str.getBytes();
b) Byte[]Str: new String(bytes),使用String构造器; - StringBuffer
a) 可变的字符序列,底层char[]存
b) 线程安全的,效率低
c) 新建时,相当于底层创建长度是16的char数组
d) 扩容问题:默认扩容为原来的两倍+2, 将原有的数组的元素复制到新的数组中。Newcapacity<<1(左移一位乘2)
e) SB.length不一定等于16,返回有多少个元素。 - StringBuilder
a) 可变的字符序列,底层char[]存
b) 线程不安全的,效率高
c) 创建时,相当于底层创建长度为原长度+16的char数组(“abc”.length + 16); - StringBuffer常用方法
a) Append():字符串拼接
b) Delete(int start, int end):删除指定位置元素,左闭右开。Abc11delete(2,4)ab1
c) Replace(int start, int end, String str):替换
d) Insert(int offset, xxx):在指定位置插入XXX
e) Reverse: 反转
f) Int indexOf(String str): 返回字符串首次出现的位置 - JDK8之前的日期和时间接口
a) Public static long currentTimeMillis():返回1970.01.01到现在的毫秒时间差(时间戳) - Date类
a) Java.util.Date
i. toString():显示当前的年月日时分秒 星期 时区
ii. getTime():获取毫秒数(时间戳)
iii. 构造器Date(): 创建当前时间的Date对象
iv. 构造器Date(Long 时间戳): 创建时间戳的Date对象
b) Java.sql.Date
i. 构造器Date(时间戳): 创建时间戳的Date对象 - Text.SimpleDateFormate类
a) 实例化,方法非静态
i. 构造特定的格式,使用指定的方式进行格式化 - 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); - Calender日历类
a) 实例化
i. Calender cal = Calender.getInstance();
ii. Get(): cal.get(Calender.DAY_OF_ MONTH);返回当前月的日期
iii. Set():
iv. Add():
v. getTime():
vi. setTime(): - JDK8的时间日期操作
- 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()进行日期修改后,原本的日期不发生改变 - Instant类
a) 时间线上的瞬时点,记录应用程序的时间戳
b) 实例化:Instant.now(); instant.atOffset(ZoneOffesrt.ofHours(8));获取中国时区标准时间,通过添加偏移量。
c) Instant.toEpochMilli(); 获取对应的毫秒数
d) Instant.ofEpochMilli(Long long): 通过给定的毫秒数创建instant实例 - DateTimeFormatter
a) 用于格式化和解析日期或者时间,提供了三种格式化的方法。
i. 自定义格式化初始化 - DateTimeFormatter formatter=DateTimeFormatter.ofPattern(“yyy-MM-dd hh:mm:ss”);
b) 格式化:日期字符串
i. formatter.format(LocalDateTime.now());
c) 解析:
i. formatter.parse(String) - Java比较器
a) Java中的对象只能进行==和!=操作,无法比较大小
b) 由于需要对对象进行排序,则需要比较大小。 - 自然排序lang.Comparable
a) 实现comparable接口,重写comparaTo(obj)方法
b) 在compareTo(obj)指明比较大小的方式 - 定制排序util.comparator
Java基础点:常用类相关推荐
- Java程序员从笨鸟到菜鸟之(五)java开发常用类(包装,数字处理集合等)(下)...
本文来自:曹胜欢博客专栏.转载请注明出处:http://blog.csdn.net/csh624366188 写在前面:由于前天项目老师建设局的项目快到验收阶段,所以,前天晚上通宵,昨天睡了大半天, ...
- Java程序员从笨鸟到菜鸟之(五)java开发常用类(包装,数字处理集合等)(下)
写在前面:由于前天项目老师建设局的项目快到验收阶段,所以,前天晚上通宵,昨天睡了大半天,下午我们宿舍聚会,所以时间有点耽误,希望大家见谅 上接: Java程序员从笨鸟到菜鸟之(四)java开发常用类( ...
- Java SE 常用类:枚举enum
Java SE 常用类:枚举enum 1.enum 枚举 表示一种事物的所有可能|一种类型的所有情况. 软件包 java.lang 注意: 枚举类型不能自定义实例化,实例由程序猿|枚举类型自己提供,因 ...
- Java程序员从笨鸟到菜鸟之(四)java开发常用类(包装,数字处理集合等)(上)
本文来自:曹胜欢博客专栏.转载请注明出处:http://blog.csdn.NET/csh624366188 一:首谈Java中的包装类 Java为基本类型提供包装类,这使得任何接受对象的操作也可以用 ...
- java map常用类及其方法_Day50.Map类常用的方法 -Java常用类、集合#、IO
Day50.Map类常用的方法 -Java常用类.集合#.IO Day50.Map类常用的方法 -Java常用类.集合#.IO Map类常用的方法 . 总结: 常用方法 添加: put(Object ...
- Java基础---常用类之Arrays工具类+基本类型的包装类
常用类之Arrays工具类 1.binarySearch(int[] a,int key) 使用二分搜索法来搜索指定的 int 型数组 2.fill(int[] a,int val)将指定的 int ...
- Java基础---常用类之Math类 and Syetem类
常用类-Math类 Math类:关于数学的类 这个类中封装了一些关于数学的方法 可以完成一些常用的数学操作 特点:1.final修饰的类 所以Math类没有子类的 不可以继承2.Math类中的构造方法 ...
- 菜鸟学JAVA之——常用类(StringBuffer、StringBuilder、Comparable、Comparator等)
文章目录 常用类 字符串相关的类 一.String类及常用方法 二.StringBuffer.StringBuilder JDK 8 之前的日期时间API 一.System静态方法 二.Date类 三 ...
- Java笔记-常用类String
常用类String 在 Java 中字符串属于对象,Java 提供了 String 类来创建和操作字符串. String 创建的字符串存储在公共池中. import java.util.Arrays; ...
- JAVA高级-常用类和常用方法
常用类 String类 **String****类:代表字符串.**Java 程序中的所有字符串字面值(如 "abc" )都作 为此类的实例实现. String是一个final类, ...
最新文章
- python【力扣LeetCode算法题库】66-加一
- 一个免费的css编辑器——Free CSS Toolbox
- nedata实时监控服务器运行情况
- 报表网红是Tableau,提测网红是MadPecker
- 三位数的茎叶图怎么看_霍山石斛哪家好?霍山石斛怎么选择?
- 利用JMeter进行压力测试(1)(转)
- 搭建你的持续集成server - CruiseControl step by step(1)
- pytorch dataset读取数据流程_10条PyTorch避坑指南
- 云服务器Centos7.0 配置JAVA运行环境 (jdk8+tomcat7+mysql)
- JavaScript小技巧总结
- 【计算机视觉-从入门到精通系列】 第一章 基础知识
- CAD建模软件BricsCAD 22.2.03 for Mac
- 15.1 异常(异常的基本概念+自定义异常)
- eclipse的Windows builder使用问题,请指点
- 出租车计价器设计VHDL
- 主分区损坏diskgenius_DiskGenius怎么修复损坏分区 显示主分区损坏解决方法
- Halcon区域特征
- 都说ADAS不好用,那智能后视镜和车载智能行业该如何走下去?
- magisk安装失败_SyberiaOS 安装刷入教程(小白新手向)
- 罗马盘、大力盘、大圣盘等搜索网站,简单绕过付费
热门文章
- [BZOJ 4819] [SDOI 2017] 新生舞会
- Hyperledger Fabric 1.2 --- Chaincode Operator 解读和测试(一)
- [Python]数据类型、常量、变量和运算符(未完待续)
- Linux阶段总结shell脚本
- Spring MVC 环境搭建(一)
- 【转载】使用Nexus搭建Maven服务器详细配置
- 使用jquery-easyui写的CRUD插件(2)
- SortedMap接口
- STM32F4读写内部FLASH【使用库函数】
- 如何对自己做好正确的人生规划