Public string toString () 该对象的字符串表现形式
System.out.println(person.toString());
System.out.println(person1.toString());
输出结果:
Person{name='迪丽热巴', age=10}
Person{name='古力娜扎', age=20}
System.out.println(person);
System.out.println(person1);
输出结果
Person{name='迪丽热巴', age=10}
Person{name='古力娜扎', age=20}
// 在我们直接使用输出语句输出对象名的时候,其实通过该对象调用了其toString()方法。
System.out.println(p1.equals(p3));
Person p1 = new Person("葫芦娃",10);
Person p3 = new Person("葫芦娃",10);
System.out.println(p1.equals(p3));
p1.equals(p3):false
Objects类 是Object的工具类
Java.util.Data类 表示特定的瞬间,精确到毫秒.
Public Data() : 分配Data对象并初始化此对象,以表示分配它的时间(精确到毫秒)
Date d = new Date();
System.out.println(d);
Date d1 = new Date(0);
System.out.println(d1);
Date d2 = new Date(1000);
System.out.println(d2);
Date() 创建了一个时间对象 表示当前计算机的时间 (以毫秒为单位)
Date(long time) 传递了一个毫秒值
创建了一个时间对象,表示 基准时间+time 之后新生成的时间
public SimpleDateFormat(String pattern) :用给定的模式和默认语言环境的日期格式符号构造
SimpleDateFormat。
参数pattern是一个字符串,代表日期时间的自定义格式
y 年
M 月
d 日
H 时
m 分
s 秒
public String format(Date date) :将Date对象格式化为字符串。
SimpleDateFormat s = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
Date d =new Date();
String str = s.format(d);
System.out.println(str);
public Date parse(String source) :将字符串解析为Date对象。
String s = "2000-01-02";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date date = sdf.parse(s);
System.out.println(date);
字段值 含义
YEAR 年
MONTH 月(从0开始,可以+1使用)
DAY_OF_MONTH 月中的天(几号)
HOUR 时(12小时制)
HOUR_OF_DAY 时(24小时制)
MINUTE 分
SECOND 秒
DAY_OF_WEEK 周中的天(周几,周日为1,可以-1使用)
public static Calendar getInstance() :使用默认时区和语言环境获得一个日历
import java.util.Calendar;
public class Demo06CalendarInit {
public static void main(String[] args) {
//获取日历对象
Calendar cal = Calendar.getInstance();
}
}
public int get(int field) :返回给定日历字段的值。
public void set(int field, int value) :将给定的日历字段设置为给定值。
int year = c.get(Calendar.YEAR);
System.out.println(year);
int month = c.get(Calendar.MONTH)+1;
System.out.println(month);
c.set(Calendar.YEAR,2019);
System.out.println(c.get(Calendar.YEAR));
public abstract void add(int field, int amount) :根据日历的规则,为给定的日历字段添加或减去指定的时间量。
add方法可以对指定日历字段的值进行加减操作,如果第二个参数为正数则加上偏移量,如果为负数则减去偏移量
c.add(Calendar.YEAR,100);
System.out.println(c.get(Calendar.YEAR));
public Date getTime() :返回一个表示此Calendar时间值(从历元到现在的毫秒偏移量)的Date对象。
Date d = c.getTime();
System.out.println(d);
获取当前系统时间与1970年01月01日00:00点之间的毫秒差值
public static void main(String[] args) {
System.out.println(System.currentTimeMillis()/1000/60/60/24/365);
}
arrayCopy
static void arrayCopy(Object src, int srcPos, Object dest, int destPos, int length): 复制源数组中指定长度个元素到一个新数组中
* Object src: 源数组 (被复制的数组)
* int srcPos: 源数组索引 (从源数组的哪个索引开始复制)
* Object dest: 目标数组 (要复制到哪个数组)
* int destPos: 目标数组索引 (指定目标数组接收元素的索引位置)
* int length: 长度 (要复制的元素个数)
java.lang.StringBuilder类: 可变字符序列, 可以高效拼接字符串. 底层使用数组保存
// 常用方法
StringBuilder append(任意类型): 添加任意类型数据的字符串形式, 并返回当前对象
String toString(): 将当前StringBuilder对象转换为String对象
基本类型 | 对应的包装类(位于java.lang包中) |
byte | Byte |
short | Short |
int | Integer |
long | Long |
float | Float |
double | Double |
char | Character |
boolean | Boolean |
JDK 5开始, 装箱和拆箱都是**自动的**
// 自动装箱原理
Integer i2 = Integer.valueOf(4); //使用包装类中的valueOf方法
// 自动拆箱原理
int num = i.intValue();
基本类型转为String: 拼接空字符串
"" + 34
true + ""
String转基本类型: 利用包装类的静态方法
static byte parseByte(String s): 将字符串参数转换为对应的byte基本类型
static short parseShort(String s): 将字符串参数转换为对应的short基本类型 Short
static int parseInt(String s): 将字符串参数转换为对应的int基本类型 Integer
static long parseLong(String s): 将字符串参数转换为对应的long基本类型
static float parseFloat(String s): 将字符串参数转换为对应的float基本类型
static double parseDouble(String s): 将字符串参数转换为对应的double基本类型
static boolean parseBoolean(String s): 将字符串参数转换为对应的boolean基本类型
ArrayList<String> add("aaaa") add("bbb") add("ccc") add("ccc")
"aaaa" "bbb" "ccc"
HashSet<String> add("aaaa") add("bbb") add("ccc")
"bbb" "ccc" "aaaa"
// 成员方法(子类都会实现)
boolean add(E e): 把给定的对象添加到当前集合中
void clear(): 清空集合中所有的元素
boolean remove(E e): 把给定的对象在当前集合中删除
boolean contains(E e): 判断当前集合中是否包含给定的对象
boolean isEmpty(): 判断当前集合是否为空(没有元素)
int size(): 返回集合中元素的个数
Object[] toArray(): 把集合中的元素,存储到数组中
Iterator<E> iterator(): 获取集合的迭代器对象 (后面讲到)
Iterator接口: 迭代器
java.util.Collection<E>接口:
// 成员方法(子类都会实现)
Iterator<E> iterator(): 获取集合的迭代器对象
java.util.Iterator<E>接口: 迭代器
// 成员方法
boolean hasNext(): 判断是否有下一个元素
E next(): 获取下一个元素
void remove(): 删除next指向的元素
for(元素的数据类型 变量名 : Collection集合或数组名){
//操作代码
}
// 数组示例
int[] arr = {1,2,3};
for (int i : arr) {
System.out.println(i);
}
Collection<Integer> c = new ArrayList<>();
for (int i : c) {
System.out.println(i);
}
如: List<?> list = new ArrayList<String>();
格式: 类型名称<? extends 类名> 对象名称
示例: List<? extends Number> list
格式: 类型名称<? super 类名> 对象名称
示例: List<? super Number> list
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) | 黑马程序员IT技术论坛 X3.2 |