java——常用类

日期

Date:

Date da1 = new Date(); //当前时间

Date da2 = new Date(System.currentTimeMillis()+100); //当前时间后100ms

boolean after(Date when) //判断该日期是否在指定日期之后

boolean before(Date when) //判断该日期是否在指定日期之前

long getTime();  //获取时间

void setTime() //设置该对象时间


Calendar:  是抽象类,代替Date,是所有日历类的模板,提供了GregorianCalendar子类,创建返回该子类实例

  Calendar calendar = Calendar.getInstance();

  void add(int field,int amount) //为给定的日历字段或减去指定的时间量

  int get(int field)  //获取指定日历字段的值

  int getActualMaximum(int field)  //返回给定字段的最大值,如月,最大值11

  int getActualMinimum(int field)  //返回给定字段的最小值,如月,最小值0

  void roll(int field,int amount)  //和add()类似,区别是不会进位

  void set(int field,int value)  //给定字段设值,延迟修改,在下次调用获取时间方法

  //或时间加减方法时才计算

  void set(int year,int month,int date)  设置年月日三个字段值

  void set(int year,int month,int date,int hourOFDay,int minute,int second)

  //设置年月日时分秒值

  setlenient(false);  //关闭兼容性,  设置不合法数据会报错。


DateFormat: 抽象类 ,转换的格式是固定的

DateFormat df = DateFormat.getInstance();

DateFormat df = DateFormat.getInstance();

Date d = new Date();

String time = df.format(d);

df = DateFormat.getDateTimeInstance(DateFormat.LONG,DateFormat.LONG);

time = df.format(d);

Date d = df.parse(time);

SimpleDateFormat: DateFormat子类,支持自定义格式模式

SimpleDateFormat sdf = new SimpleDateFormat();

sdf.applyPattern("yyyy/mm/dd");

String time = sdf.format(new Date);

Date d = sdf.parse(time);

//yMdHms:年月日时分秒

随机数

Random: Random类用于生产一个伪随机数(通过相同的种子,产生的随机数是相同的)。

Random ran = new Random();

public Random():使用默认的种子(以当前系统时间作为种子)。

public Random(long seed):根据指定的种子。

ran.nextBoolean();

ran.nextDouble();

ran.nextInt();

ran.nextInt(10);

ThreadLocalRandom: Java7,是Random类的子类,是线程安全的

因构造器是默认权限,要通过ThreadLocalRandom.current()返回当前类对象

ThreadLocalRandom random = ThreadLocalRandom.current();

random.nextInt(34,179);//生产(34,179)之间的随机数

UUID: 通用惟一识别:Universally Unique Identifier; 在一台机器上生成的数字,

      它保证对在同一时空中的所有机器都是唯一的。UUID是一个128位长的数字,一般用16进制表示。算法的核心思想是结合机器的网卡、当地时间、一个随即数来生成UUID.

      我们一般用来表示:随机的唯一的字符串.

String uuid = UUID.randomUUID().toString();

字符串

CharSequence接口

实现类:String,StringBuffer,StringBuilder,CharBuffer,Segment

String:

String的创建和转换:

byte[] getBytes():把字符串转换为byte数组

char[] toCharArray():把字符串转换为char数组

String(byte[] bytes):把byte数组转换为字符串

String(char[] value):把char数组转换为字符串

获取字符串信息

int length() 返回此字符串的长度

char charAt(int index) 返回指定索引处的 char 值

int indexOf(String str)返回指定子字符串在此字符串中第一次出现处的索引。

int lastIndexOf(String str)返回指定子字符串在此字符串中最右边出现处的索引

int indexOf(int ch);//

int lastIndexOf(int ch);//

字符串比较判断

boolean equals(Object anObject) //比较。

boolean equalsIgnoreCase(String anotherString) //比较不考虑大小写

boolean contentEquals(StringBuilder cs) //内容比较

String concat(String str);//连接字符串

boolean startsWith(String prefix);

boolean startsWith(String prefix,int toffset);//从toffset位置起是否以prefix开始

String replace(char oldChar,char newChar);//替换

String substring(int beginIndex);

String substring(int beginIndex,int endIndex);

static String valueOf(X x);//基本类型转换成字符串

字符串大小写转换

String toUpperCase()  把当前字符串转换为大写(谁调用该方法,谁就是当前字符)

String toLowerCase()  把当前字符串转换为小写

StringBuffer:

    方法与String相同;

StringBuilder:

    方法与String相同;

注意:Sting是不可变的,每次内容改变都会在内存中创建新的对象,做字符串拼接,性能极低.

拼接字符串要使用StringBuffer/StringBuilder,不要使用String.

StringBuffer和StringBuilde区别(建议使用StringBuilder):

  StringBuffer和StringBuilder都表示可变的字符串,功能方法都是相同的.

  唯一的区别:

  StringBuffer:  StringBuffer中的方法都使用了synchronized修饰符,

  表示同步的,在多线程并发的时候可以保证线程安全,保证线程安全的时候,性能(速度)较低.

  StringBuilder:StringBuilder中的方法都没有使用了synchronized修饰符,不安全,但是性能较高.

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 目录 API概述 Object Scanner String构造方法判断功能获取功能转换功能其他功能 String...
    灏喆阅读 128评论 0 1
  • 1.Object 是所有类的基类 public String toString() 在打印输出类或者字符串连接时会...
    dawsonenjoy阅读 643评论 0 1
  • 包装类 包装类是把八大基本数据类型封装到一个类中,并提供属性和方法。 是为了更方便的操作基本数据类型,而不是取代基...
    什么时候养猫阅读 360评论 0 0
  • String类 表示的是不可变的字符串对象! 使用的方法所产生的字符串返回值,都是新的字符串对象。 本...
    知止9527阅读 203评论 0 2
  • 如果生命是一条孤独的河流,谁会是你灵魂的摆渡人? 每个人都需要摆渡人,每个人都期盼自己的摆渡人,能早早到来,好帮助...
    Rainbow小雪阅读 186评论 1 1