T-3-java核心API-基础类
- Java API是java(Oracle)提供的系统标准API。
- 第三方的jar包API,如:JUnit.jar。
- 可以自己开发一些API。
- 一般情况下任何技术都有现成的API。
- java源代码中,/**...*/可以用于生成手册。
- 在文档中,可以使用@定义手册的段落,格式:@author @see
- 利用java开发工具命令javadoc可以生成JavaHTML版本的手册。(也可以用eclipse的图形界面的export命令调用javadoc生成手册)
- javadoc命令是利用JDK的命令,需要配置好JDK以后才能使用。
- API都提供了javadoc手册。javadoc手册是利用文档注释写在源码中的
- 可以利用JDK的javadoc工具抽取为HTML版本的手册。
- java中“最重要”的基础API类。
- 字符串的长度是字符的个数。
- String类不能被继承,否则会报编译错误。
- 字符串操作,本身是数组的扩容与复制。
- 静态字符串:字面量/常量/常量的连接结果
- “==”比较的是:变量的值(对象的地址)
- 静态字符串:编译器能够确定内容的字符串,如字符串常量。
- 字符串字面量:字面量常量的运算结果。如:public static final int ROWS=20; //ROWS称为常量;20称为字面量;
- 相同静态字符串,在运行期间引用同一个对象。
- 如果返回值与原字符串不同,就返回新字符串对象。
- 如果返回值与原字符串相同,经常返回原字符串对象。
- String是final类型。
- String对象是不可改变的(改变后指向新的String对象)。
- String API如果改变了内容,就返回新对象。
- String API方法是对char数组的操作运算。
- 没有API或者不用API,可以利用for循环处理字符数组,实现相应的功能,如果优化的好的话,性能有可以好与String API。
- indexOf(String str)
- int indexOf(String str, int fromIndex)
- int lastIndexOf(String str, int from)
- String substring(int beginIndex, int endIndex)
- .trim()
- char charAt(int index)
- startsWith和endsWith
- toUpperCase和toLowerCase
- String.valueOf(...)
- StringBuilder内部的字符数组内容和长度可变。
- StringBuilder可改变字符串。
- StringBuilder的字符操作性能好于String。
- String的连接计算是使用StringBuilder实现的。
- 输入输出简单操作时用String,复杂的更改使用StringBuilder,极致性要求时使用字符数组计算。
- append(String str)
- insert(int dstOffset, String s)
- delete(int start, int end)
- replace(int start, int end, String str)
- reverse()
- StringBuilder是可变字符串,字符串的内容计算建议采用StringBuilder实现,这样性能会更好些。
- java的字符串连接过程就是利用StringBuilder实现的。
- StringBuffer和StringBuilder
- 正则表达式:字符串的规则定义,字符串中字符出现的次序规律
- 业务规则:检查一段话中是否出现了“国骂”
- 是字符的“规则”定义,用在:1)文本内容的检索,在文件中查询需要的内容;2)文本内容的检查:检查文字中是否符合规范;3)文本的处理,拆分,替换等。
- java,PHP,javaScript等很多语言都支持正则
- 开发工具,操作系统,也支持正则表达式,不同系统的正则规范不同,可查看API手册 java.util.regex.Pattern
- boolean str.matches(regex); String[] split(String regex); String replaceAll(String regex, String replacement);
- 任何类型的父类型,一切皆对象
- Object类型的变量,可以引用任何对象,超级多态。
- Object定义了很多重要的方法,被子类继承,Java系统方法:toString, equals, hashCode
- toString方法:用于返回当前这个对象的文字描述,任何东西都可以用文字说明(描述)
- java认为任何对象都可以用文字描述,所以在Object类上定义了toString()方法,任何类型都可以继承这个方法。
- 建议子类重写这个方法,提供具体的文字描述
- 一般都在子类中重写这个方法
- java很多API都会回调这个方法的结果。println(obj)就会调用toString()。记住:以后只要写类,就写toString(),便于调试输出数据。
- 如何重写toString()?一般返回属性值。
- 默认返回结果是:classValue@hashCode
- equals用于比较对象的相等
- 建议子类重写
- 采用“模版”重写
- 要了解默认的equal方法(等同于==)
- java的很多方法会回调这个方法比较对象,如:Arrays.equals(arg1, arg2)
- String重写了equals方法
- ==用于比较变量的值,可以应用于任何类型,如果用于引用类型,比较的是两个引用变量中存储的值(地址信息),判断两个变量是否指向的是同一个对象。
- equals是Object的方法,重写以后,可以用于比较两个变量的内容是否“相等”。
- 需要注意的是,Object默认的equals方法的比较规则同==。
- 提供了字符串的数据向基本类型转换的算法,这些算法是人类输入与计算机处理的二进制之间的重要转换桥梁,如果输入数据(字符串)格式有误,转换不能成功,会抛出异常 NumberFormatException
- 还提供了将基本类型转换为String的方法,这个方法是用于输出基本类型的数据。
- 包装类都是final的,不能定义它们的子类。
- 包装类是不可变类,在构造了包装类对象后,不允许更改包装在其中的值。
- 因为基本类型不是对象,包装类可以把基本类型包装为对象。
- 将基本类型包装成对象有两种方式:1)用构造器创建 Object o = new Integer(1); 2)用方法创建 Object o = Integer.valueOf(1);
- 也可以将包装类拆包成基本类型:integer i = Integer.valueOf(5); int u = i.intValue();
- 包装类提供了与字符串类型的相互转换方法:String -> int Integer.parseInt(s);
- java 5提供了自动拆包和包装
- 抽象类Number是Byte,Double,Float,Integer,Long和Short类的父类。
- java 5开始,自动将123.45包装成Double类型。
- java的时间是long类型的毫秒数。
- 人类的时间系统:年月日时分秒
- java提供API解决java时间和人类的时间之间的计算。
- Date:简单时间封装和“过期”的时间计算方法。
- Calendar:复杂历法算法,可以获取设置时间分量,以及进行复杂的时间分量计算。
- SimpleDateFormat:提供了时间的输入与输出
- 时间API的使用:Date是时间类型的简单封装;Calender用于复杂的时间计算,简单时间计算直接使用long毫秒数计算。
- API能将计算机的时间转换为“年月日时分秒”的格式,也能将“年月日时分秒”转换为计算机的时间。
- Date类的内部,是个long类型的时间,是当前时间的毫秒数,还提供了历法算法,可以计算年份/月份/日期等。
- Date类重写了toString()方法和equals()方法。
- SimpleDateFormat简介:是一个以语言环境有关的方式来格式化和解析日期的具体类,允许进行格式化(日期->文本),解析(文本->日期)和规范化。Date ->String sbf.format(date); String -> Date sbf.parse(string)
- 日期模式匹配字符
字符 | 含义 | |
y | 年 | yyyy-2013年 yy-13年 |
M | 月 | MM月-01月 M月-1月 |
d | 日 | dd日-06日 d日-6日 |
E | 星期 | E-星期日(Sun) |
a | AM或PM标识 | |
H | 小时(24小时制) | |
h | 小时(12小时制) | |
m | 分钟 | |
s | 秒 |
- 用于封装日历信息,其主要作用在于其方法可以对时间分量进行运算。
- Calendar是抽象类,其具体子类针对不同国家的日历系统,其中应用最广的是GregorianCalendar(格里高里历,即通用的阳历),对应世界上绝大多数国家/地区使用的标准日历系统。
- Calendar提供了一个类方法getInstance,以获得此类型的一个通用对象。Calendar c = Calendar.getInstance();
T-3-java核心API-基础类的更多相关文章
- 2018.6.19 Java核心API与高级编程实践复习总结
Java 核心编程API与高级编程实践 第一章 异常 1.1 异常概述 在程序运行中,经常会出现一些意外情况,这些意外会导致程序出错或者崩溃而影响程序的正常执行,在java语言中,将这些程序意外称为异 ...
- Java核心API需要掌握的程度
分类: java技术2009-08-29 01:03 213人阅读 评论(0) 收藏 举报 javaapiswingxmlio Java的核心API是非常庞大的,这给开发者来说带来了很大的方便,经常人 ...
- java核心API学习
1:java.lang (Object.String.StringBuffer.Thread.System.ClassLoader.Class.Runtime.包装类等)
- java核心API
---恢复内容开始--- Javase01 day01 关于String: String是不可变对象,java.lang.String使用了final修饰,不能被继承: 字符串一旦创建永远无法改变,但 ...
- 【Java核心】ClassLoader原理及其使用
又把博客的皮肤换了换,看着更加简洁舒心一些.前段的知识只是略懂,拿过来就能用,只是自己的审美和设计水平有限,实在难以弄出自己特别满意的东西,也算是小小的遗憾吧!言归正传,由于最近涉及到Java核心的东 ...
- java多线程核心api以及相关概念(一)
这篇博客总结了对线程核心api以及相关概念的学习,黑体字可以理解为重点,其他的都是我对它的理解 个人认为这些是学习java多线程的基础,不理解熟悉这些,后面的也不可能学好滴 目录 1.什么是线程以及优 ...
- Java核心-03 谈谈final、finally、 finalize有什么不同?
今天,我要问你的是一个经典的 Java 基础题目,谈谈 final.finally. finalize 有什么不同? 典型回答 final 可以用来修饰类.方法.变量,分别有不同地意义,final修饰 ...
- Java Attach API
catalog . instrucment与Attach API . BTrace: VM Attach的两种方式 . Sun JVM Attach API 1. instrucment与Attach ...
- Java核心_内省
Java核心_内省 查看java的api,发现有一个包java.bean咦,这个包是干什么的呢,原来,它是用来操作JavaBean对象的! 一.内省操作①JavaBean:一种特殊的Java类无参构造 ...
- Java核心 --- 注解
Java核心——注解 注解是jdk5以后的新特性,Spring和Hibernate等框架提供了注解的配置方式使用, 本文参考了浪曦风中叶的注解讲解,主要讲解jdk内置注解的用法,注解的声明和定义,以及 ...
随机推荐
- MM-科目自动分配
SAP系统篇 MM自动记账解析之基本概念(01) https://blog.csdn.net/qq_33641781/article/details/78027802 MM自动记账解析之功能实现(02 ...
- linux查看指定时间段的日志
不需要tail命令,直接 grep '2018-04-22 12:3[2-9]' tesl.log: 这就是查询指定文件的2018-04-22 12点32分到39分的日志
- jsTree通过AJAX从后台获取数据
页面代码: <div id="MenuTree"></div> javascript代码: $(document).ready(function ($) { ...
- mysql学习二、SQL常用数据类型
一.常用数据类型 二.选择数据类型的原则: 1 业务需要 2 满足第一个条件下,需要存储空间最小的. 三.常用的选择数据类型思路:
- jmeter启动报错
# ./jmeter-server Using local port: 1099Server failed to start: java.rmi.server.ExportException: Lis ...
- Java简单操作dubbo(一)
dubbo-service公共Service package com.itman.service; public interface UserService { // 提供服务 使用userId查找用 ...
- BackgroundWorker 组件 -- 进度条
代码: BackgroundWorker bw = new BackgroundWorker(); public MainWindow() { InitializeComponent(); bw.Wo ...
- C#使用Owin技术部署轻量级webApi服务
写在前面: 除了使用IIS可以启用WebApi之外,微软还提供了Owin技术,免除了IIS繁琐的部署配置,只需要运行编写好的程序,即可启用webApi服务,是不是很爽呢? 对于Owin技术的详细介绍这 ...
- Tensorflow学习笔记2019.01.22
tensorflow学习笔记2 edit by Strangewx 2019.01.04 4.1 机器学习基础 4.1.1 一般结构: 初始化模型参数:通常随机赋值,简单模型赋值0 训练数据:一般打乱 ...
- Python·——进程1
1.进程背景知识 顾名思义,进程即正在执行的一个过程.进程是对正在运行程序(的一个抽象). 进程的概念起源于操作系统,是操作系统最核心的概念,也是操作系统提供的最古老也是最重要的抽象概念之一.操作系统 ...