string转date类型_10:Wrapper;String;Date;Math;File;Enumeration;Syst
- 1. 包装类的基本用法
- 2.自动装箱和拆箱
1. 包装类的基本用法
1.1 为什么需要包装类(Wrapper Class)
Java 并不是纯面向对象的语言。
Java 语言是一个面向对象的语言,但是 Java 中的基本数据类型却是不面向对象的。但是我们在实际使用中经常需要将基本数据转化成对象,便于 操作。比如:集合的操作中。 这时,我们就需要将基本类型数据转化成对象!
1.2 包装类和基本数据类型的对应关系
基本数据类型
包装类
byte ——Byte
boolean—— Boolean
short ——Short
char ——Character
int ——Integer
long ——Long
float ——Float
double ——Double
1.3 包装类的继承关系
1.4 包装类的基本操作 以 Integer 举例
Attention:
IntegerClass override equals method and toString method.
2.自动装箱和拆箱
2.1 自动装箱 auto-boxing
基本类型就自动地封装到与它相同的类型的包装类中 Integer i=100;
This is because the compiler calls valueOf()method:
Integer i=Integer.valueOf(100);
Integer 中的缓存类 IntegerCache Cache 为
[-128,127],IntegerCache 有一个静态的 Integer 数组,在类加载时就将-128 到 127 的 Integer 对象创建了,并 保存在 cache 数组中,一旦程序调用 valueOf 方法,如果取 的值是在-128 到 127 之间就直接在 cache 缓存数组中去取 Integer 对象,超出范围就 new 一个对象。
2.2 自动拆箱 unboxing 包装类对象自动转换成基本类型数据
int a=new Integer(100);
编译器为我们添加了
int a=new Integer(100).intValue();
wi’cai’ban’lan’wu
3.String 类底层分析_JDK 源码分析
3.1String 的底层数据结构
String 的底层数据结构是 char 类型的数组 String 的相应方法的实现实际上就是对数组的一个操作
3.2String、StringBuilder、StringBuffer
1、String是字符串常量,StringBuffer和StringBuilder都是字符串变量。后两者的字符内容可变,而前者创建后内容不可变。
2、String不可变是因为在JDK中,String类被声明为一个final类。
3、StringBuffer是线程安全的,而StringBuilder是非线程安全的。
4.StringBuilder_StringBuffer 用法_JDK 底 层源码分析
4.1 可变的字符串
StringBuilder:效率高,安全性低
StringBuffer:效率低,安全性高
4.2StringBuilder 的常用方法的使用
append();//主要用于字符串的追加。
delete();//主要用于删除一段字符,但是
//含头不含尾。这段字符的头字符
//被删
deleteCharAt();//删除指定字符。
insert();//主要用于在数组的指定位置添加一个
//字符
indexof();//主要用于找字符,找到返回数
//字下表,找不到返回-1。
4.3StringBuilder 的 JDK 源码分析
两者的method基本可以通用,只是在效率和安全上有所区别。
5.不可变字符序列和可变字符序列的深入
javap 是 JDK 自带的一个工具,可以反编译,也可以查看 Java
编译器生成的字节码,是分析代的一个好工具。 -c 对代码进行反汇编
- 在等号”=”右侧有variable or “new” keywords,the heap will create new space.
eg:variable
6.java.util.Date 类
Java 有关获取时间的类:Date类、SimpleDateFormat类和Calendar类
6.1java.util.Date 类
long getTime() 返回自1970年1月1日以来,由此 Date对象表示的
00:00:00 GMT 的毫秒数
6.2java.sql.Date 类
6.3java.sql.Date 类
6.4java.sql.Timestamp 类
7.DateFormat 和 SimpleDateFormat 类
Java 有关获取时间的类:Date类、SimpleDateFormat类和Calendar类
Date类
完成字符串和时间对象的转换
1)date->string, use format(Date d) method;
2)string->data, use prase(String s) method;
8.Calendar 类
Java 有关获取时间的类:Date类、SimpleDateFormat类和Calendar类
8.1Calendar 类
人们对于时间的认识是:某年某月某日,这样的日期概念。
计算机是 long 类型的数字。通过 Calendar 在二者之间搭起桥 梁!
GregorianCalendar 是 Calendar 的一个具体子类,提供了 世界上大多数国家/地区使用的标准日历系统。 注意:
月份:一月是 0,二月是 1,以此类推,是 12 月是 11 星期:周日是 1,周一是 2,。周六是 7
8.2Calendar 的常用方法
set();get();getTime();setTime();
add(field,amount;)(在年、月、日三个field中选择一个,增加。比如在“日”中,增加10天。)
8.3 使用 Calendar 编写万年历
9.Math 类
9.1Math 类的常用方法
1)Math.abs() //absolute value 绝对值
2)向上取整再转double
3)
4)平方 eg: 5,2=25;
5)开方
6)随机数
7)
9.2 静态导入 JDK1.5
1)java 默认import java.lang.*;
2)JDK1.5之后,We can sue “static import”, this is its format:
When we use this format, we can omit “Math.”;
10.File 类
- 文件和目录路径名的抽象表示形式。一个 File 对象可以代表 一个文件或目录 。
- function:可以实现获取文件和目录属性等功能。可以实现对文件和目录的创建、删除等功能。
- File 不能访问文件内容 。
10.1File 类操作文件
1)file class locat in package:java.io.*;
2)create FileClass object;
3)method
10.2File 类操作目录
11.使用递归算法遍历目录结构和树结构
编写一个程序:以树状结构展现特定的文件夹及其子文件 (夹)(使用递归来做)
12.枚举
12.1 枚举的定义
其值是固定的,我们在使用的时候只能够取特定值中的一个。
使用 enum 关键字 。
12.2 枚举的使用
而每个被枚举的成员实质就是一个枚举类型的实例,他们默认都是 public static final 的。可以直接通过枚举类型名直接 使用它们。)
强烈建议当你需要定义一组常量时,使用枚举类型
尽量不要使用枚举的高级特性,事实上高级特性都可以使用普通类来实现,没有必要引入复杂性!
12.3 枚举与类的关系
所有的枚举类型隐性地继承自 java.lang.Enum。(枚举实质上还是类! )
System_class
System类代表系统,系统级的很多属性和控制方法都放置在该类的内部。该类位于java.lang包。
由于该类的构造方法是private的,所以无法创建该类的对象,也就是无法实例化该类。其内部的成员变量和成员方法都是static的,所以也可以很方便的进行调用。
1、成员变量
System类内部包含in、out和err三个成员变量,分别代表标准输入流(键盘输入),标准输出流(显示器)和标准错误输出流(显示器)。
例如:
System.out.println(“Test”);
该行代码的作用是将字符串”Test”输出到系统的标准输出设备上,也就是显示在屏幕上。
后续在学习完IO相关的知识以后,可以使用System类中的成员方法改变标准输入流等对应的设备,例如可以将标准输出流输出的信息输出到文件内部,从而形成日志文件等。
2、成员方法
System类中提供了一些系统级的操作方法,这些方法实现的功能分别如下:
a、arraycopy方法
public static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length)
该方法的作用是数组拷贝,也就是将一个数组中的内容复制到另外一个数组中的指定位置,由于该方法是native方法,所以性能上比使用循环高效。
使用示例:
int[] a = {1,2,3,4};
int[] b = new int[5];
System.arraycopy(a,1,b,3,2);
该代码的作用是将数组a中,从下标为1开始,复制到数组b从下标3开始的位置,总共复制2个。也就是将a[1]复制给b[3],将a[2]复制给b[4],这样经过复制以后数组a中的值不发生变化,而数组b中的值将变成{0,0,0,2,3}。
b、currentTimeMillis方法
public static long currentTimeMillis()
该方法的作用是返回当前的计算机时间,时间的表达格式为当前计算机时间和GMT时间(格林威治时间)1970年1月1号0时0分0秒所差的毫秒数。例如:
long l = System. currentTimeMillis();
则获得的将是一个长整型的数字,该数字就是以差值表达的当前时间。
使用该方法获得的时间不够直观,但是却很方便时间的计算。例如,计算程序运行需要的时间则可以使用如下的代码:
long start = System. currentTimeMillis();
for(int i = 0;i < 100000000;i++){
int a = 0;
}
long end = System. currentTimeMillis();
long time = end – start;
则这里变量time的值就代表该代码中间的for循环执行需要的毫秒数,使用这种方式可以测试不同算法的程序的执行效率高低,也可以用于后期线程控制时的精确延时实现。
c、exit方法
public static void exit(int status)
该方法的作用是退出程序。其中status的值为0代表正常退出,非零代表异常退出。使用该方法可以在图形界面编程中实现程序的退出功能等。
d、gc方法
public static void gc()
该方法的作用是请求系统进行垃圾回收。至于系统是否立刻回收,则取决于系统中垃圾回收算法的实现以及系统执行时的情况。
e、getProperty方法
public static String getProperty(String key)
该方法的作用是获得系统中属性名为key的属性对应的值。系统中常见的属性名以及属性的作用如下表所示。
属性名列表
属性名
属性说明
java.version
Java 运行时环境版本
java.home
Java 安装目录
os.name
操作系统的名称
os.version
操作系统的版本
user.name
用户的账户名称
user.home
用户的主目录
user.dir
用户的当前工作目录
string转date类型_10:Wrapper;String;Date;Math;File;Enumeration;Syst相关推荐
- 数据库时间为datetime(date)类型,开发使用String类型的优劣
随笔: 在mysql数据库中,关于时间的使用是datetime类型,而在开发中使用string类型 datetime类型是规范的格式,储存空间8 bytes,YYYY-MM-DD HH:MM:SS格式 ...
- oracle时间类型转化成java对象_Oracle数据库date类型与Java中Date的联系与转化
以下是对Java中的日期对象与Oracle中的日期之间的区别与联系做点说明,以期对大家有所帮助. new Date():分配 Date 对象并初始化此对象,以表示分配它的时间(精确到毫秒),就是系统当 ...
- java把string转int类型_java把String类型转换为int类型的方法
java把String类型转换为int类型的方法 发布时间:2020-08-20 14:32:03 来源:亿速云 阅读:73 作者:小新 这篇文章将为大家详细讲解有关java把String类型转换为i ...
- mysql double 转string类型转换_double类型转化成string
public static void main(String[] args) { double priceWithFreight = 1200.5698d; System.out.println(pr ...
- java中怎样将字符串转化为date_java如何将string类型转为date类型?怎样转?
很多人表示,java将string类型转为date类型不知道应该怎样做,那么下面特地的对这个问题做了一下内容的整合,一起来看看. String转换成Date类型SimpleDateFormat ft ...
- java string转sql date_Java中的util.Date,sql.Date,sql.Time,String类型转换
今天总结一下工具类中Date类型. java.sql.Date,java.sql.Time,和java.sql.Timestamp(时间戳记)都是java.util.Date的子类. java.sql ...
- date类型_06076.1.0如何将ORC格式且使用了DATE类型的Hive表转为Parquet表
温馨提示:如果使用电脑查看图片不清晰,可以使用手机打开文章单击文中的图片放大查看高清原图. Fayson的github: https://github.com/fayson/cdhproject 提示 ...
- feign date类型时间错误问题
问题 在feign传输date类型的数据时,在调用方时间正确,而被调用方获取时时间会相差14个小时. 原因 Feign客户端在进行通信时,会将Date类型对象转为String类型,如果这个时间是北京时 ...
- java中Date()类型输入数据的处理
对于Date类型的数据,需要输入生日存入相应数据库中 private Date birthday;// 生日 package com.pdsu.mybatis.pojo;import java.io. ...
最新文章
- linux下jetty简单配置
- commons-lang常用方法
- java中位数_java 计算中位数方法
- gdb tui 安装_GDB 单步调试汇编
- 德云斗笑社何九华为什么没参加_狗狗的身体卡在了门上,女主人低头一看忍不住笑了:这是膨胀了...
- Java 算法 理财计划
- http,tcp的长连接和短连接
- html样式超出出现滚动条,CSS 设置的高度超出屏幕高度为什么没出现滚动条?
- 关于github的一些问题汇总
- 朴素贝叶斯实战:人群收入预测(基于美国人口普查收入数据)
- pmp项目管理师证书有什么用?
- android 模拟器网易,网易MuMu全游戏平台 网易mumu模拟器
- source insight如何设置背景
- Restful-API设计最佳实战--Django播客系统(五)
- 多模态学习(Multimodal Deep Learning)研究进展综述(转载)
- brother printer 打印机 winform 小工具
- android获取手机型号和手机厂商
- Excel 2010 SQL应用110 分组统计之HAVING子句
- 必读如何有效的进行沟通
- vue js 前端导出 下载 打印 图片 pdf html 局部打印
热门文章
- eclipse svn异常:RA layer request failed 的解决方案
- 如何处理异常? catch Exception OR catch Throwable
- Spring RestTemplate中文乱码解决方案
- html5新特性:利用history的pushState等方法来解决使用ajax导致页面后退和前进的问题
- Python 执行js的2种解决方案-乾颐堂
- npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! test_vue_0613@1.0.0 dev: 错误的解决方法
- Kotlin中的Java静态方法等效于什么?
- LF将由git中的CRLF替换-那是什么,它很重要吗? [重复]
- JS每日一题: 小程序页面之间如何通信?
- MySQL 8.0版本无法使用 node、Navicat等三方工具连接的问题