JavaSE的常用API

33人阅读 评论(0) 收藏 举报
分类:

前言

学习JDK中提供的各种功能的Java类,API(Application Programming Interface)

正文

Object

hashCode

A:返回该对象的哈希码值。默认情况下,该方法会根据对象的地址来计算。
B:不同对象的,hashCode()一般来说不会相同。
  但是,同一个对象的hashCode()值肯定相同。

equal

==和equals()的区别?
A:==
    基本类型:比较的是值是否相同
    引用类型:比较的是地址值是否相同
B:equals()
    只能比较引用类型。默认情况下,比较的是地址值是否相同。
    但是,我们可以根据自己的需要重写该方法。
    String类型 也需要用equals来比较

clone

创建并返回此对象的一个副本,这种克隆机制十分高效,而且二者之间完全隔离。
自定义类实现克隆步骤:
    A:自定义类实现Cloneable接口,这是一个标记性接口,实现这个接口的类的对象可以实现自我克隆。
    B:自定义类中重写Object类的clone()方法。
    C:重写clone()方法时通过super.clone()调用Object类的clone()方法来得到该对象的副本,并返回该副本。

Scanner

问题

先nextInt()然后nextLine(),后nextLine()读取错误的问题

A:重新创建对象。
B:都以字符串形式接收,然后把字符串转成int类型。

String

字符串的特点

A:字符串一旦被赋值,就不能改变。
    注意:这里指的是字符串的内容不能改变,而不是引用不能改变。
B:字面值作为字符串对象和通过构造方法创建对象的不同
    String s = new String("hello");和String s = "hello"的区别
    前者申请了堆区的对象 和 方法区的字符串常量区的对象
    后者只需要去创建 方法区的字符串常量区的对象

面试题

字符串如果是变量相加,先开空间,在拼接。
字符串如果是常量相加,是先加,然后在常量池找,如果有就直接返回,否则,就创建。

String s1 = "hello";
String s2 = "world";
String s3 = "helloworld";
System.out.println(s3 == s1 + s2);// false,这里是变量相加

System.out.println(s3 == "hello" + "world");// false 这个我们错了,应该是true
System.out.println(s3 == "hell" + "oworld"); //这个也是true

StringBuffer/StringBuilder

StringBuffer 和 String的相互转换

String -- StringBuffer
    构造方法
StringBuffer -- String
    toString()方法

Arrays

降序排序

import java.util.Arrays;
import java.util.Collections;
import java.util.Comparator;

class MyComparator implements Comparator<Integer> {
    public int compare(Integer o1, Integer o2) {
        return o2 - o1;
    }
}

class Main {
    public static void main(String[] args) {
        Integer[] arr = { 1, 2, 3, 4 };
        // 第一种方法,直接用Collections的reverseOrder方法
        // Arrays.sort(arr, Collections.reverseOrder());

        // 第二种方法,自定义类重写Comparator接口的compare方法
        Arrays.sort(arr, new MyComparator());
        for (int i : arr) {
            System.out.print(i + " ");
        }
        System.out.println("");
    }
}

包装类

基本类型与包装类的对应

基本类型    包装类
byte        Byte
short       Short
int         Integer
long        Long
float       Float
double      Double
char        Character
boolean     Boolean

String 和 int 的相互转换

A:String -- int
    Integer.parseInt("100");
B:int -- String
    String.valueOf(100);

数据缓冲池

-128127之间的数据缓冲池问题
//byte以内的数据有常量池

Integer s1 = 122;
Integer s2 = 122;
System.out.println(s1 == s2); //返回true

正则表达式

常见规则

Pattern类中有明确的规则,这里只选取用的比较多的
A:字符
    x 字符 x。举例:'a'表示字符a
    \\ 反斜线字符。
    \n 新行(换行)符 ('\u000A') 
    \r 回车符 ('\u000D')

B:字符类
    [abc] a、b 或 c(简单类) 
    [^abc] 任何字符,除了 a、b 或 c(否定) 
    [a-zA-Z] a到 z 或 A到 Z,两头的字母包括在内(范围) 
    [0-9] 09的字符都包括

C:预定义字符类
    . 任何字符。我的就是.字符本身,怎么表示呢? \.
    \d 数字:[0-9]
    \w 单词字符:[a-zA-Z_0-9]
        在正则表达式里面组成单词的东西必须有这些东西组成

D:边界匹配器
    ^ 行的开头 
    $ 行的结尾 
    \b 单词边界

E:Greedy 数量词 
    X? X,一次或一次也没有
    X* X,零次或多次
    X+ X,一次或多次
    X{n} X,恰好 n 次 
    X{n,} X,至少 n 次 
    X{n,m} X,至少 n 次,但是不超过 m 次 

功能

判断

String类的public boolean matches(String regex)

分割

String类的public String[] split(String regex)

替换

String类的public String replaceAll(String regex,String replacement)

获取

详细看Pattern和Matcher

String s = "I do not love you, could you still love me?";
String reg = "\\b\\w{4}\\b";
Pattern p = Pattern.compile(reg);
Matcher m = p.matcher(s);
while (m.find()) {
    System.out.println(m.group());
}

日期和字符串的转换

Date -- String
    format()

String -- Date
    parse()

后记

参考资料

next()和nextLine()的区别
java传参的注意事项
sort降序排列
sort降序排列

快捷键

Java编辑器 格式化 Ctrl+Shift+F

查看评论

javase常见的API

以下内容是一些开源软件常用的API使用收集,小知识大力量。 1.关于java I/O方面的一些知识点的记录总结 添加的依赖引用如下: commons-io commons-io ...
  • fengchao2016
  • fengchao2016
  • 2016-09-26 15:48:26
  • 203

JavaSE实战——API(中) 集合框架

Java集合就是一个容器。因为容器中数据结构不同,容器有很多种。不断地将共性功能向上抽取,形成了集合体系,称之为集合框架。集合只用于存储对象,集合长度是可变的,集合可以存储不同类型的对象。本篇主要讲述...
  • zhongkelee
  • zhongkelee
  • 2015-07-08 11:42:55
  • 2506

javaEE和javaSE,JDK常用API

  • 2017年12月26日 11:50
  • 69.46MB
  • 下载

一个支持通配符的文件操作类

  • 2003年10月05日 00:00
  • 2KB
  • 下载

Java基础(三):Java常用API

本篇介绍java基础中常用API使用,当然只是简单介绍,围绕重要知识点引入,巩固开发知识,深入了解每个API的使用,查看java API文档是必不可少的。 一、java.lang包下的API Ja...
  • chenchaoqingtian
  • chenchaoqingtian
  • 2016-03-01 11:18:46
  • 6349

JavaSE 各种帮助文档集中

前两天重装了系统,在谷歌浏览器上保存的各种好东西都没有了,特别是Java的各种在线帮助文档, 下面是官方网站关于Java的各种帮助文档的在线查询和下载: java api 帮助文档 chm 1.5...
  • zhengqiqiqinqin
  • zhengqiqiqinqin
  • 2012-05-15 09:39:41
  • 2831

如何能够看懂JavaSE帮助文档---API

首先当我们使用帮助文档的时候就是要查某个类或者方法该如何使用,使用的前提条件就是我们知道我们要用帮助文档来查什么东西。就像我们用字典查单词一样,首先我们知道这个单词怎么拼,可能我们不知道这个单词的中文...
  • shenlan18446744
  • shenlan18446744
  • 2014-04-02 23:35:15
  • 1456

javase1.6 API

  • 2014年08月11日 17:29
  • 37.3MB
  • 下载

学习笔记之JavaSE(29)--JavaAPI详解4

集合类之Collection接口
  • huayuekonghoui
  • huayuekonghoui
  • 2016-11-22 15:11:08
  • 413

http://docs.oracle.com/javase/6/docs/

官方文档,不错的
  • qian_348840260
  • qian_348840260
  • 2013-04-24 13:56:59
  • 736
    个人资料
    持之以恒
    等级:
    访问量: 4715
    积分: 284
    排名: 27万+
    文章分类