1.基本数据类型比较用:==

2.引用数据类型比较用:equals方法

如果引用数据类型使用==比较的话,比较的是地址值

toString

对象调用toString()需要重写本方法: 在封装类中,否则输出的是地址

equals方法

'对象' 调用equals()需要重写本方法: 在封装类中重写,否则进行比较时比较的是地址

String

  String有一个切割split,按一个字符串进行切割,返回切割之后的字符串数组

    String[] split(String regex)

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

  public String concat (String str) :将指定的字符串连接到该字符串的末尾。

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

  public int indexOf (String str) :返回指定子字符串第一次出现在该字符串内的索引。

  public int indexOf(String str, int fromIndex) :返回指定子字符串在此字符串中第一次出现处的索引,从指定的索引开始。

  public String substring (int beginIndex) :返回一个子字符串,从beginIndex开始截取字符串到字符串结尾。

  public String substring (int beginIndex, int endIndex) :返回一个子字符串,从beginIndex到endIndex截取字符串。含beginIndex,不含endIndex。

  public String replace (CharSequence target, CharSequence replacement) :将与target匹配的字符串使用replacement字符串替换。

StringBuilder

  String Builder在内存中相当于一个缓冲容器,会随着内存的关闭而消失,在地址内存中进行字符拼接时 不创建所添加字符的内存地址 节省了内存空间 

  StringBuilder() 构造一个没有字符的字符串构建器,初始容量为16个字符。

  StringBuilder(String str) 构造一个初始化为指定字符串内容的字符串构建器

  StringBuilder sb = new StringBuilder();

  public StringBuilder append(任意类型):添加数据,并返回对象本身(支持链式调用)。

  public StringBuilder reverse():字符序列进行反转

  public String toString():返回此序列中数据的字符串表示形式。 转为String

  append方法弊端:它可以拼接任意类型,但是拼接完毕,都变成字符串

Arrays

public static String toString(int[] a):把数组转成字符串

public static void sort(int[] a):对数组进行升序排序

包装类与String类互相转换

int 类型直接拼接字符串可转为String类型

int->String

1+""

String.valueOf()方法可以将基本类型数据转为String类型

String.valueOf(数据);

包装类.ParseXXX方法可以将基本类型转为String类型  注意基本类型必须转为相对应的包装类,以下是int转String例子

int->String(重点)

Integer.parseInt("100")

Date

  在java,有一个java.util.Date,表示日期时间的,精确到毫秒值

  Date类的构造方法:

  Date() 无参构造方法:以当前的系统时间来创建出一个Date对象

  Date(long date):根据指定的毫秒值,创建出一个Date对象。 指定的毫秒值,从1970年1月1日(计算机的基准时间)起经过的毫秒值

  常用方法:

  public long getTime() 把日期对象转换成对应的时间毫秒值。

  void setTime(long time) 将此 Date对象设置为1970年1月1日00:00:00 起经过的毫秒值

  1.   //请打印出1970年1月2号的时间的对象
  2.  
  3.     Date date2 = new Date(24 * 60 * 60 * 1000);
  4.  
  5.     System.out.println(date2);
  6.  
  7.   //获取当前时间的毫秒值
  8.     Date date = new Date();
  9.     System.out.println(date.getTime());
  10.  
  11.   //将date,改成1970年1,月1号   
  12.  
  13.     date.setTime(0);
  14.  
  15.     System.out.println(date);

SimpleDateFormat

  可以使用DateFormat类,但是它是一个抽象类,所以我们要用它的子类 SimpleDateFormat构造方法

  SimpleDateFormat(String pattern) 使用给定模式构建一个 SimpleDateFormat ,默认日期格式符号为默认的 FORMAT区域设置。

  参数pattern就是模式

  字母模式:y表示面 M表示月 d表示日 H表示时 m表示分 s表示秒 S表示毫秒

  中国式时间: 2019年3月11日 11点 09分 33秒 333毫秒

  代码的字母模式: yyyy年MM月dd日 HH点mm分ss秒 SSS毫秒

  成员方法 :

  格式化(日期 -> 文本): Date -- String

  public final String format(Date date)

  解析(文本 -> 日期): String -- Date

  public Date parse(String source)

  1.      //根据系统时间创建Date对象
  2. Date date = new Date();
  3. System.out.println(date);
  4.  
  5. //date不好看,格式化为中国式时间
  6.      //SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH点mm分ss秒 SSS毫秒");
  7. SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM-dd HH:mm:ss");
  8. //将date格式化为String
  9. String time = sdf.format(date);
  10. System.out.println(time);
  11.  
  12. //注意,我们一般人不会记忆毫秒值,能不能根据具体的时间(2019-03-11 11:16:02)解析成毫秒值
  13. //ParseException: Unparseable date: "2018年03-11 11:18:57",注意,模式必须与之前一致
  14. Date date1 = sdf.parse("2018年03-11 11:18:57");
  15. System.out.println(date1);
  16. System.out.println(date1.getTime());

Calendar

  Calendar为抽象类,由于语言敏感性,Calendar类在创建对象时并非直接创建,而是通过静态方法创建,返回子类对象

  根据Calendar类的API文档,常用方法有:

  • public int get(int field):返回给定日历字段的值。
  • public void set(int field, int value):将给定的日历字段设置为给定值。
  • public abstract void add(int field, int amount):根据日历的规则,为给定的日历字段添加或减去指定的时间量。
  • public Date getTime():返回一个表示此Calendar时间值(从历元到现在的毫秒偏移量)的Date对象。

  Calendar类中提供很多成员常量,代表给定的日历字段:

字段值

含义

YEAR

MONTH

月(从0开始,可以+1使用)

DAY_OF_MONTH

月中的天(几号)

HOUR

时(12小时制)

HOUR_OF_DAY

时(24小时制)

MINUTE

SECOND

DAY_OF_WEEK

周中的天(周几,周日为1,可以-1使用)

  1. import java.util.Calendar;
  2.  
  3. public class CalendarUtil {
  4. public static void main(String[] args) {
  5. //get方法
  6. // 创建Calendar对象
  7. Calendar cal = Calendar.getInstance();
  8. // 设置年
  9. int year = cal.get(Calendar.YEAR);
  10. // 设置月
  11. int month = cal.get(Calendar.MONTH) + 1;
  12. // 设置日
  13. int dayOfMonth = cal.get(Calendar.DAY_OF_MONTH);
  14. //set方法
  15. Calendar cal = Calendar.getInstance();
  16. cal.set(Calendar.YEAR, 2020);
  17. //add方法
  18. cal.add(Calendar.DAY_OF_MONTH, 2); // 加2天
  19. cal.add(Calendar.YEAR, -3); // 减3年
  20. //getTime方法
  21. Date date = cal.getTime();
  22. }
  23. }

System

  • public static long currentTimeMillis():返回以毫秒为单位的当前时间。
  • public static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length):将数组中指定的数据拷贝到另一个数组中。

  currentTimeMillis方法

  1. import java.util.Date;
  2.  
  3. public class SystemDemo {
  4. public static void main(String[] args) {
  5. //获取当前时间毫秒值
  6. System.out.println(System.currentTimeMillis()); //
  7. }
  8. }

  arraycopy方法

参数序号

参数名称

参数类型

参数含义

1

src

Object

源数组

2

srcPos

int

源数组索引起始位置

3

dest

Object

目标数组

4

destPos

int

目标数组索引起始位置

5

length

int

复制元素个数

  1. import java.util.Arrays;
  2.  
  3. public class Demo11SystemArrayCopy {
  4. public static void main(String[] args) {
  5. int[] src = new int[]{1,2,3,4,5};
  6. int[] dest = new int[]{6,7,8,9,10};
  7. System.arraycopy( src, 0, dest, 0, 3);
  8. /*代码运行后:两个数组中的元素发生了变化
  9. src数组元素[1,2,3,4,5]
  10. dest数组元素[1,2,3,9,10]
  11. */
  12. }
  13. }

Random

  构造方法:

  Random() 创建一个新的随机数生成器。

  成员方法 :

    int nextInt() 从这个随机数生成器的序列返回下一个伪随机数,均匀分布的 int值。

    int nextInt(int bound) ,均匀分布 返回值介于0(含)和指定值bound(不包括),从该随机数生成器的序列绘制

  1. Random random = new Random();
  2. /*for (int i = 0; i < 10; i++) {
  3. System.out.println(random.nextInt());
  4. }*/
  5.  
  6. /*for (int i = 0; i < 10; i++) {
  7. int j = random.nextInt(10);
  8. System.out.println(j);
  9. }*/
  10.  
  11. //来一个随机值,这个数据的范围必须是1~100,33~66 54~78
  12. //random.nextInt(100);//0~99 +1 -> 1~100
  13. /*33~66 - 33 -> 0~33
  14. for (int i = 0; i < 10; i++) {
  15. System.out.println(random.nextInt(34) + 33);
  16. }*/
  17.  
  18. //54~78 - 54 -> 0~24
  19. for (int i = 0; i < 10; i++) {
  20. System.out.println(random.nextInt(25) + 54);
  21. }

比较器Comparable<T> 和 Comparator<T>

  java.lang Comparable<T> : 该接口对实现它的每个类的对象强加一个整体排序。 这个排序被称为类的自然排序 ,类的compareTo方法被称为其自然比较方法 。

  java中规定 某个类只要实现了Comparable 接口之后,才能通过重写compareTo()具备比较的功能。

  抽象方法:

    int compareTo​(T o) 将此对象(this)与 指定( o )的对象进行比较以进行排序。

    this > o : 返回正数

    this = o : 返回0

    this < o : 返回负数

    ' this - o : 表示按照升序排序。 o - this : 表示按照降序排序。

  ' 小结 : 如果Java中的对象需要比较大小,那么对象所属的类要实现Comparable接口,然后重写compareTo(T o)实现比较的方式。

  1. public class Student implements Comparable<Student>{
  2. ....
  3. @Override
  4. public int compareTo(Student o) {
  5. return this.age-o.age;//升序
  6. }
  7. }

  java.util Comparator<T> : 比较器接口。

  抽象方法:

    int compare​( T o1, T o2 ) 比较其两个参数的大小顺序。

  比较器接口的使用场景:

    1. Arrays.sort() : static <T> void sort​( T[] a, Comparator c)

    2. Collections 集合工具类 : void sort​(List<T> list, Comparator<> c) 根据指定的比较器给集合中的元素进行排序。

    3. TreeSet 集合 : 构造方法 TreeSet( Comparator c )

    补充 : 在后面我还会介绍JDK1.8 的新特性(Lambda  函数式代码优化)  进行优化此类接口 

  1. ArrayList<String> list = new ArrayList<String>();
  2. list.add("cba");
  3. list.add("aba");
  4. list.add("sba");
  5. list.add("nba");
  6. //排序方法 按照第一个单词的降序
  7. Collections.sort(list, new Comparator<String>() {
  8. @Override
  9. public int compare(String o1, String o2) {
  10. int rs = o2.getCj() - o1.getCj();
  11. return rs==0 ? o1.getAge()-o2.getAge():rs;
  12. // return o2.charAt(0) - o1.charAt(0);
  13. }
  14. });
  15. System.out.println(list);

  Comparable 和 Comparator 区别:

    Comparable : 对实现了它的类进行整体排序。

    Comparator : 对传递了此比较器接口的集合或数组中的元素进行指定方式的排序。

JavaSE 常用类与其方法的更多相关文章

  1. WebView全面学习(一)--常用类和方法

    WebView全面学习(一)--常用类和方法 WebView本质上是一个View,他基于webkit引擎来展示web页面 在Android不同的版本webkit内核有所区别,从Android版本上看, ...

  2. Java && Python 算法面试常用类以及方法总结

    数据结构 逻辑结构上: 包括集合,线性结构,非线性结构. 存储结构: 顺序存储,链式存储,索引存储,散列存储. Java 常见数据结构 大专栏  Java && Python 算法面试 ...

  3. Java之常用类及方法

    下面我们介绍Java类库所提供的常用类及类的常用方法 一.java.lang.String 1. String类常用的构造函数 public String(String original) 使用串对象 ...

  4. java 随机数产生 常用类及方法

    1.Random类 Random():创建一个新的随机数生成器. new一个Random类的对象: Random r = new Random(); 利用该对象产生一个随机整数:常用nextInt,不 ...

  5. JavaSE常用类之File类

    File类 只用于表示文件或目录的信息,不能对文件内容进行访问. java.io.File类∶代表文件和目录.在开发中,读取文件.生成文件.删除文件.修改文件的属性时经常会用到本类. File类不能访 ...

  6. ASP.NET 之 常用类、方法的超级总结,并包含动态的EXCEL导入导出功能,奉上类库源码

    实用类:UtilityClass 包含如下方法 判断对象是否为空或NULL,如果是空或NULL返回true,否则返回false 验证手机号是否正确 13,15,18 验证邮箱 验证网址 MD5加密,返 ...

  7. JavaSE常用类之Object类

    1. hashCode方法 代码: package NeiBuLei; public class hashCode { public static void main(String[] args) { ...

  8. JavaSE学习笔记(8)---常用类

    JavaSE学习笔记(8)---常用类 1.Object类 java.lang.Object类是Java语言中的根类,即所有类的父类.它中描述的所有方法子类都可以使用.在对象实例化的时候,最终找的父类 ...

  9. 几种常用的JS类定义方法

    几种常用的JS类定义方法   // 方法1 对象直接量var obj1 = {    v1 : "",    get_v1 : function() {        return ...

随机推荐

  1. ECharts初体验

    ECharts,一个使用 JavaScript 实现的开源可视化库,可以流畅的运行在 PC 和移动设备上,兼容当前绝大部分浏览器(IE8/9/10/11,Chrome,Firefox,Safari等) ...

  2. Unity3D中的生命周期函数

    生命周期函数:需要继承 MonoBehaviour 类才能使用.生命周期函数全部都是由系统定义好的,系统会自动调用,且调用顺序和我们在代码里面的书写顺序无关. 常用的生命周期函数: Awake():唤 ...

  3. Vuejs——(8)Vuejs组件的定义

    版权声明:出处http://blog.csdn.net/qq20004604   目录(?)[+]   本篇资料来于官方文档: http://cn.vuejs.org/guide/components ...

  4. Alpha阶段项目复审(冲鸭队)

    Alpha阶段项目复审(冲鸭队) 组名 优点 缺点 排名 天冷记得穿秋裤队 支持文件离线开源下载,没有限速 部分功能未实现 1 中午吃啥队 点餐系统用户需求较高,系统功能完善 界面可以再完善一下些 2 ...

  5. 团队博客-第六周:Alpha阶段项目复审(只会嘤嘤嘤队)

    小组名 题目 优点 缺点 排名 小谷围驻广东某工业719电竞大队 广工生活社区 功能多样,设计完整,实用,界面美观 界面风格不够统一,当前时间系统尚未发布 1 大猪蹄子队 四六级背单词游戏 界面十分美 ...

  6. EBS CAS SSO测试

    https://wiki.jasig.org/display/CAS/CASifying+Oracle+Portal https://wenku.baidu.com/view/5f110a85b9d5 ...

  7. 【论文学习】YOLO9000: Better,Faster,Stronger(YOLO9000:更好,更快,更强)

    原文下载:https://arxiv.org/pdf/1612.08242v1.pdf 工程代码:http://pjreddie.com/darknet/yolo/ 目录 目录 摘要 简介 BETTE ...

  8. JavaScript实现多张图片上传功能

    今天闲着没事,把之前的多张图片上传代码整理了下. 页面主要代码: <div class="upBox upBox2"> <div class="d1&q ...

  9. Java中List, Integer[], int[]的相互转换

    import java.util.Arrays; import java.util.List; import java.util.stream.Collectors; public class Mai ...

  10. EXCEL在改动某几个单元格时隐藏空列

    概述 今天我哥来找我帮他搞下excel表格,本着程序猿对程序无所不能的精神,我爽快的答应了.结果查了半天才搞定.现在记录在此,供自己以后参考,相信对其他人也有用. PS:这几天正在弄博客,马上就要弄完 ...