java中的常用类、Date和SimpleDateFormat类表示时间、java中基本类型和包装之间的转换

本文详细介绍了Java中的包装类,包括Integer、Boolean等的基本使用方法,以及如何实现基本类型与包装类之间的转换。此外还介绍了基本类型与字符串之间的转换方法,并通过示例展示了如何使用Date和SimpleDateFormat类来处理日期和时间。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

与上一篇一样这篇依旧是我在慕课网(www.imooc.com)学习java时写的笔记而已,想要看详细的还是去官网自己看。话不多说,开始学习了。

-----------------------分割线-------------------------------------------

一、包装类

在java中存在基本数据类型,int、float、double、boolean、char等。基本数据类型是不具备对象的特性,如不能调用方法。为了可以让这些基本类型具备对象特性,java为每个基类提供了一个包装类,这样可以使得我们像操作对象一样来操作基本数据类型。

基本类型和包装类之间的对应关系:

包装类主要提供了两大类方法:

将本类型和其他基本类型进行转换的方法

将字符串和本类型及包装类互相转换的方法。

1首先来看Integer包装类

1.1构造方法

Integer(int values)  创建一个Integer对象,表示指定的int值

Integer(String s)  创建一个Integer对象,表示String参数所指示的int值

1.2.常用方法


1.3.常量

Integer类提供了4个常量

MAX_VALUE:表示int类型可取的最大值,即2^31-1。

MIN_VALUE:表示int类型可取的最小值,即-2^31。

SIZE:用来以二进制补码形式表示int值的位数。

TYPE:表示基本类型int的Class实例。


2.Boolean

2.1 构造方法

Boolean(boolean value)

Boolean(String str)//eg.Boolean bool=new Boolean("ok");

2.2常用方法


2.3常量

TRUE:对应基值true的Boolean对象

FALSE:

TYPE:


3.Byte包装类

3.1构造方法

Byte(byte value)

Byte(String str)

3.2常用方法



3.3常量

MIN_VALUE:

MAX_VALUE:

SIZE:

TYPE:


4.Character包装类

4.1 构造方法

Character(char value)

4.2常用方法


4.3常量

CONNECTOR_PUNCTUATION:返回byte型值,表示Unicode规范中的常规类别“Pc”。

UNASSIGNED:返回byte型值,表示Unicode规范中的常规类别“Cn”

TITLECASE_LETTER:返回byte型值,表示Unicode规范中的常规类别“Lt”


5 Double包装类



ps:上面一些我并没有写全,因为他们的常用方法和常量基本一样,没有特别要注意的也就不再写了,把所有的包装类给列举了出来仅仅。


二、java中基本类型和包装之间的转换

基本类型和包装之间经常需要互相转换,以Integer为例

Integer a=new Integer(3);//定义包装类对象,值为3

int b=a+5;

JDK1.5引入的自动装箱和拆箱机制,包装类和基本类之间的转换轻松便利许多。
装箱:把基本类型转换成包装类,使其具有对象的性质,又可分为手动装箱和自动装箱

int i=10;
Integer x=new Integer(i);//手动装箱
Integer y=i;//自动装箱



拆箱:和装箱相反,把包装类对象转换成基本类型的值,
又可分为手动拆箱和自动拆箱
Integer j=new Integer(8);
int m=j.intValue();//手动拆箱为int类型
int n=j;//自动拆箱为int类型

三、java中基本类型和字符串之间的转换

我们在写程序中,需要在基本数据类型和字符串之间进行转换,基本类型转换为字符串有三种方法:

1.使用包装类的toString()方法

2.使用String类的valueOf()方法

3.用一个空字符串加上基本类型,得到的就是基本类型数据对应的字符串

//将基本类型转换为字符串
int c=10;
String str1=Integer.toString(c);
String str2=String.valueOf(c);
String str3=c+"";

将字符串转换成基本数据类型有两种方法

1.调用包装类的parseXxx静态方法

2.调用包装类的valueOf()方法转换为基本类型的包装类,会自动拆箱

//将字符串转换为基本类型
String str="8";
int d=Integer.parseInt(str);//方法一
int e=Integer.valueOf(str);//方法二

public class HelloWorld {
    public static void main(String[] args) {
        
		double m = 78.5;
		//将基本类型转换为字符串
		String str1 =Double.toString(m);                              ;
        
		System.out.println("m 转换为String型后与整数20的求和结果为: "+(str1+20));
		
		String str = "180.20";
	    // 将字符串转换为基本类型
		Double a =Double.parseDouble(str);
	
		System.out.println("str 转换为double型后与整数20的求和结果为: "+(a+20));
	}
}

四、使用Date和SimpleDateFormat类表示时间

程序开发中,经常需要处理日期和时间的相关数据,此时可以使用java.util包中的Date类。该类最重要的作用就是获取当前时间,来看下Date类的使用:

Date d=new Date();//使用默认的构造方法创建Date对象
System.out.println(d);//输出


ps:使用Date类的默认无参构造方法创建出的对象就代表当前时间。但是输出的时间格式不是很好,(有兴趣的可以自己试试),如果我们希望看成2016-03-19就要使用SimpleDateFormat(java.text包中的)来对日期进行格式化,如可以将日期转换为指定格式的文本,也可将文本转换为日期。

1.使用format()方法将日期转换为指定格式的文本

//创建Date对象,表示当前时间
Date d=new Date();
//创建SimpleDateFormat对象,指定目标格式
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//调用format()方法,格式化时间,转换为指定格式字符串
String today =sdf.format(d);
//输出转换后的字符串
System.out.println(today);

2.使用parse()方法将文本转换为日期

//使用parse()方法将文本转换为日期
		//创建日期格式的字符串
		String day="2014年02月14日 10:30:25";
		//创建SimpleDateFormat对象,指定字符串的日期格式
		SimpleDateFormat sdf=new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
		//调用parse()方法,将字符串转换为日期
		Date date = null;
		try {
			date = sdf.parse(day);
		} catch (ParseException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		System.out.println("当前时间:"+date);

一定要注意哦:

1、 调用 SimpleDateFormat 对象的 parse() 方法时可能会出现转换异常,即 ParseException ,因此需要进行异常处理

2、 使用 Date 类时需要导入 java.util 包,使用 SimpleDateFormat 时需要导入 java.text 包







<think>嗯,用户想找Hutool工具中与日期格式相关的常量定义。首先,我得回忆一下Hutool的文档结构。根据提供的引用内容,引用[3]里提到了Hutool的时间日期处理部分,比如DateUtil,还有字符串工具StrUtil。用户可能需要具体的日期格式常量,比如常见的yyyy-MM-dd这种。 然后,查看引用里的信息,引用[3]中的“四、工具”下提到了DateUtil,并列举了日期转换的方法,比如格式化输出、获取日期部分等。但问题在于用户问的是常量定义,也就是Hutool是否预定义了常用的日期格式字符串,避免每次都手动输入。 接下来,我需要确认Hutool是否有这样的常量。通常,这工具库会有DatePattern的,里面含各种格式常量。例如,DatePattern.NORM_DATE_FORMAT对应"yyyy-MM-dd"。根据引用[3]中的内容,虽然没直接提到DatePattern,但引用了DateUtil.format方法的使用,其中可能用到这些常量。 此外,引用[2]中的例子显示使用DateUtil.formatTime(date)返回"00:00:00",说明有时间格式的常量可能存在。用户可能需要知道这些常量的具体名称对应的格式字符串。 然后,根据Hutool的官方文档(引用[4]),应该有一个DatePattern,里面定义了各种格式常量。需要检查引用中的内容是否有相关描述。在引用[3]的目录里,第四部分工具中的“字符串工具-StrUtil”提到了标点符号字符串常量定义,但日期格式可能在DateUtil或专门的常量中。 因此,总结回答:Hutool的日期格式常量通常在DatePattern中定义,含如NORM_DATE_FORMAT、NORM_DATETIME_FORMAT等。需要列出这些常量及其对应的格式,并建议用户参考官方文档或源码中的DatePattern。同时,提醒用户注意不同Hutool版本的差异,建议查阅对应版本的文档。</think>### Hutool日期格式常量定义说明 Hutool工具中与**日期格式相关的常量**主要通过`DatePattern`定义,该位于`cn.hutool.core.date`下。以下是常见的日期格式常量定义列表及对应格式说明: --- #### 1. **标准格式常量** | 常量名称 | 格式 | 示例 | |---------|------|------| | `NORM_DATE_PATTERN` | `yyyy-MM-dd` | 2023-10-01 | | `NORM_TIME_PATTERN` | `HH:mm:ss` | 14:30:00 | | `NORM_DATETIME_PATTERN` | `yyyy-MM-dd HH:mm:ss` | 2023-10-01 14:30:00 | | `NORM_DATETIME_MINUTE_PATTERN` | `yyyy-MM-dd HH:mm` | 2023-10-01 14:30 | | `NORM_DATETIME_MS_PATTERN` | `yyyy-MM-dd HH:mm:ss.SSS` | 2023-10-01 14:30:00.123 | --- #### 2. **其他常用格式** | 常量名称 | 格式 | 示例 | |---------|------|------| | `UTC_SIMPLE_PATTERN` | `yyyy-MM-dd'T'HH:mm:ss` | 2023-10-01T14:30:00 | | `UTC_PATTERN` | `yyyy-MM-dd'T'HH:mm:ss.SSS'Z'` | 2023-10-01T14:30:00.123Z | | `CHINESE_DATE_PATTERN` | `yyyy年MM月dd日` | 2023年10月01日 | | `PURE_DATE_PATTERN` | `yyyyMMdd` | 20231001 | | `PURE_TIME_PATTERN` | `HHmmss` | 143000 | | `PURE_DATETIME_PATTERN` | `yyyyMMddHHmmss` | 20231001143000 | | `PURE_DATETIME_MS_PATTERN` | `yyyyMMddHHmmssSSS` | 20231001143000123 | --- #### 3. **使用方法示例** ```java // 使用预定义常量格式化日期 Date date = DateUtil.date(); String dateStr = DateUtil.format(date, DatePattern.NORM_DATETIME_PATTERN); System.out.println(dateStr); // 输出:2023-10-01 14:30:00 // 解析日期字符串 String input = "2023年10月01日"; Date parsedDate = DateUtil.parse(input, DatePattern.CHINESE_DATE_PATTERN); ``` --- #### 4. **注意事项** - **版本差异**:不同Hutool版本可能新增或调整格式常量,建议查阅对应版本的官方文档[^4]。 - **扩展性**:若需自定义格式,可直接传入格式字符串,无需依赖预定义常量[^3]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值