API

作者: 知止睿 | 来源:发表于2018-12-08 21:00 被阅读0次

1.Objece类(equals) D15.

1.

接口不继承Objece,只有类继承

引用对象==表示比较对象的内存地址

person p1=new person ("张三",20);

person p2=new person ("李四",21);

p1.equals(p2);

public boolean equals(Object obj){

    this==obj;    //比较对象的内存地址是否相等,new的对象内存地址都不相同

}

2.自定义比较年龄

public boolean equals(Object obj){    //发生了类型提升,person类提升为Object类Object obj=p2

    person p=(peroson)obj;    //多态中,父类无法调用子类的特有功能,需要向下转型

    this.age==p.age;

}

3.存在的风险

public boolean equals(Object obj)    //参数是Object,表示任何类都可以接受,存在风险

if(obj instanceof person){        //判断Obj是否为person类

    ........

}

if(obj == null){

    return false;

}

2.String类

1.immutable

不可变字符串(immutable),字符串对象不变,str指向的内存发生变化

字符串是常量private final char value [ ];

String str="itcast";

sop(str);

String str="ithe";

sop(str);

startwith();

endwith();

contains();

indexOf();

3.StringBuffer类的方法

reverse();

toString();

append();6

indexOf();

delete();

insert();

replace();

4.StringBuilder和StringBuffer

StringBuilder是线程不安全的StringBuffer类,运行速度比StringBuffer快

StringBuffer线程安全的类,运行速度慢


1.匹配规则 ( D16 )

//        第一个为转义字符,将第二个转为普通的斜线

[.]       匹配任意字符

/d    0-9

/w    字母和数字

String str="11   22   33    44";

String [] a=str.split(" +");    //只要出现了空格,无论几个

String str="192.168.1.1";

String [] a=str.split(" \\.+");    //.匹配任意字符,需要将.转为普通字符

@前:字母,数字,下划线

@后:小写字母,数字

.后:字母

String str="abv@163.com.cn";

boolean b=str.match("[a-zA-z0-9_]+@[a-z0-9]+(\\.[a-z]+)+");    //邮箱匹配规则,(\\.[a-z]+)+表示.加字母的形式可以出现多次

2.Date类

1.构造方法和方法:

1.构造方法:

1.date();    //获取当前操作系统对应的时间

2.方法:

1.long system.currentTimeMillis();    //当前日期时间对应的毫秒值

2.longdate.getTime();//返回值为Long,将date表示的日期(当前时间)转化成毫秒值

3.void date.setTime(long time);    //毫秒值转换成日期,将日期设置成指定的毫秒值    和date(long l)作用相同

2.DateFormat类(E11)

1.日期格式化

创建SimpleDateFormat对象,在类构造方法中写入字符串的日期格式

2.转换

1.

format();Date => String  Sun Dec 09 21:21:21 CST 2018  =>2018-12-9 

SimpleDateFormat调用format对日期进行格式化

String format(Date date)传递日期对象,返回字符串

eg:

SimpleDateFormat sdf=new SimpleDateFormat ("yyyy年MM月dd日 HH点mm分ss秒");

String date = sdf.format(new date());

2.

parse(); String => Date        2018-12-9 =>Sun Dec 09 21:21:21 CST 2018

SimpleDateFormat sdf=new SimpleDateFormat ("yyyy-MM-dd");

Date date = sdf.parse(new date());

4.Calendar类(13)

抽象类,实现子类为    GregorianCalendar

不需要new子类对象,而是通过静态方法直接获取

1.getInstance();

Calendar c=Calendar.getInstance();

2.get();    //获取时间字段

Calendar c=Calendar.getInstance();

int year=c.get(Calendar YEAR);

int month=c.get(Calendar MONTH)+1;

3.set();    //更改时间字段

set(int field,int value);    //将field字段更改为

set(Calendar.MONTH,4);    //将MONTH设置为5月

set(int year,int month,int day);    //直接设置年月日 

4.getTime();    //日历对象转换成date日期对象

Calendar c=Calendar.getInstance();    //java.util.GregorianCalendar[time=12412414124,areFieldsSet=true,lenient=true]

Date date=c.getTime();

sop(date);    //Sun Dec 09 21:21:21 CST 2018

5.计算是否是闰年

//日历设置的指定年的3月1日,使用add()方法,向前偏移1天,获取天数,以此判断是否是闰年

Calendar  c=Calendar .getInstance();

c.set(year,,2,1);

c.add(Calendar.Day_Of_Month,-1);

int day=c.get(Calendar.Day_Of_Month);

if(day==29){

    return true;

}

return false;


1.Integer类( D16 )

1.转换

1.int a=Integer.parseInt("123");    //字符串必须是数字格式的,将数字类型的字符串 变为基本类型int

2.int => String    

任何类型+""变成String类型

Integer中的静态方法toString(int i);

toString(int i, int radix)将i转为radix进制

2.装箱和拆箱

自动装箱:基本数据类型直接变成对象

自动拆箱:对象中的数据变为基本数据类型

Integer in=1;        =>         Integer in=new Integer(1);

in=in.intValue()+1=2

in=in+1;    自动拆箱

3.exercise

=======================================

Integer a=500;

Integer b=500;

a==b;    //false,自动装箱,相当于Integer a=new Integer(500);

a.equals(b);    //true

=======================================

Integer a=127;

Integer b=127;

a==b; //true,数据范围在bytes(-128-127)以内,JVM不会new新的对象

a.equals(b);    //true

2.System类

1.

arraycopy(Object src,int srcPos,Object dest, int destPos, int length)

Object src:要复制的源数组

int srcPos:源数组起始索引

Object dest:复制的目标数组

int destPos:目标数组起始索引

 int length:复制的长度

3.Math类



1.Array工具类( D17 )

1.Arrays.sort();    //实现数组升序排列

2.Arrays.binarySearch(数组,被查找的元素)    //如果元素不存在返回(-插入点-1)

3.Arrays.toString(int [] a)    //将数组转换为字符串

2.BigInterger类

1.构造方法

BigInterger(String val);       // 字符串没有范围限制,推荐使用

2.方法

add();

subtract();

 multiply();

 divide();

3.BigDecimal类

1.构造方法

BigDecimal(String val); 

2.  

add();

subtract();

 multiply();

 divide();

devide(BigDecimal divisor, int scale,RoundingMode roundingMode)    //设定精确范围和小数舍入模式

相关文章

网友评论

      本文标题:API

      本文链接:https://www.haomeiwen.com/subject/tlafhqtx.html