java常见_Java 常用类
一Object 老祖宗
java.lang.Object
1.所有的类直接或者间接继承父类Java认为所有的对象都具备一些基本的共性内容这些内容可以不断的向上抽取最终就抽取到了一个最顶层的类中(Object) 该类中定义的就是所有对象都具备的功能
2.具体方法:
booleanequals(Object obj): 用于比较两个对象是否相等其实内部比较的就是两个对象地址
String toString(): 将对象变成字符串默认返回的格式: 类名@哈希值= getClass().getName() + '@'+ Integer.toHexString(hashCode()) 为了对象对应的字符串内容有意义可以通过复写建立该类对象自己特有的字符串表现形式
Class getClass(): 获取任意对象运行时的所属字节码文件对象
inthashCode(): 返回该对象的哈希码值支持此方法是为了提高哈希表的性能
通常equals, toString, hashCode在应用中都会被复写建立具体对象的特有的内容
二String 字符串类
java.lang.String
1.java中用String类进行描述对字符串进行了对象的封装这样的好处是可以对字符串这种常见数据进行方便的操作对象封装后可以定义N多属性和行为
2.特点: 字符串一旦被初始化就不可以被改变存放在方法区中的常量池中
3.具体方法:
1> 构造方法将字节数组或者字符数组转成字符串
String s1 = newString(); //创建了一个空内容的字符串
String s2 = null; //s2没有任何对象指向是一个null常量值
String s3 = ""; //s3指向一个具体的字符串对象只不过这个字符串中没有内容
String s4 = newString("abc");
String s5 = "abc"; //一般用此写法
newString(char[]); //将字符数组转成字符串
newString(char[], offset, count); //将字符数组中的一部分转成字符串
2> 一般方法
a. 获取
length(); //获取字符串的长度
charcharAt(intindex); //指定位置的字符
intindexOf(intch); //返回第一次找到的字符角标如果不存在返回-1
intindexOf(intch, intfromIndex); //返回从指定位置开始第一次找到的角标如果不存在返回-1
intindexOf(String str); // 返回第一次找到的字符串角标如果不存在返回-1
intindexOf(String str, intfromIndex);
intlastIndexOf(intch);
intlastIndexOf(intch, intfromIndex);
intlastIndexOf(String str);
intlastIndexOf(String str, intfromIndex);
String substring(intstart); //从start位开始到length()-1为止
String substring(intstart, intend); //从start开始到end为止//包含start位不包含end位
substring(0, str.length()); //获取整串
b. 判断
booleancontains(String substring); //字符串中包含指定的字符串吗
booleanstartsWith(string); //字符串是否以指定字符串开头啊
booleanendsWith(string); //字符串是否以指定字符串结尾啊
booleanequals(string); //覆盖了Object中的方法判断字符串内容是否相同
booleanequalsIgnoreCase(string) ; //判断字符串内容是否相同忽略大小写
c. 转换
//可以通过字符串中的静态方法将字符数组转成字符串
staticString copyValueOf(char[] );
staticString copyValueOf(char[], intoffset, intcount);
staticString valueOf(char[]);
staticString valueOf(char[], intoffset, intcount);
//将基本数据类型或者对象转成字符串
staticString valueOf(char);
staticString valueOf(boolean);
staticString valueOf(double);
staticString valueOf(float);
staticString valueOf(int);
staticString valueOf(long);
staticString valueOf(Object);
//将字符串转成大小写
String toLowerCase(); //转小写
String toUpperCase(); //转大写
//将字符串转成数组
char[] toCharArray(); //转成字符数组
byte[] getBytes(); //可以加入编码表转成字节数组
//将字符串转成字符串数组切割方法
String[] split(分割的规则-字符串);
//将字符串进行内容替换注意: 修改后变成新字符串并不是将原字符串直接修改
String replace(oldChar, newChar);
String replace(oldstring, newstring);
String concat(string); //对字符串进行追加
String trim(); //去除字符串两端的空格
intcompareTo(); //如果参数字符串等于此字符串则返回值0 如果此字符串按字典顺序小于字符串参数则返回一个小于0 的值如果此字符串按字典顺序大于字符串参数则返回一个大于0 的值
三StringBuffer 字符串缓冲区
java.lang.StringBuffer
1.构造一个其中不带字符的字符串缓冲区初始容量为16个字符
2.特点:
1> 可以对字符串内容进行修改
2> 是一个容器
3> 是可变长度的
4> 缓冲区中可以存储任意类型的数据
5> 最终需要变成字符串
3.具体方法:
//添加
StringBuffer append(data); 在缓冲区中追加数据追加到尾部
StringBuffer insert(index, data); 在指定位置插入数据
//删除
StringBuffer delete(start, end); 删除从start至end-1范围的元素
StringBuffer deleteCharAt(index); 删除指定位置的元素
//sb.delete(0, sb.length()); 清空缓冲区
//修改
StringBuffer replace(start, end, string); 将start至end-1替换成string
voidsetCharAt(index, char); 替换指定位置的字符
voidsetLength(len); 将原字符串置为指定长度的字符串
//查找(查不到返回-1)
intindexOf(string); 返回指定子字符串在此字符串中第一次出现处的索引
intindexOf(string,intfromIndex); 从指定位置开始查找字符串
intlastIndexOf(string); 返回指定子字符串在此字符串中最右边出现处的索引
intlastIndexOf(string, intfromIndex); 从指定的索引开始反向搜索
//获取子串
string substring(start); 返回start到结尾的子串
string substring(start, end); 返回start至end-1的子串
//反转
StringBuffer reverse(); 字符串反转
四StringBuilder 字符串缓冲区
java.lang.StringBuilder
1.JDK1.5出现StringBuiler 构造一个其中不带字符的字符串生成器初始容量为16个字符该类被设计用作StringBuffer的一个简易替换用在字符串缓冲区被单个线程使用的时候(这种情况很普遍)
2.具体方法: 和StringBuffer一样
3.StringBuffer 和StringBuilder 的区别:
StringBuffer线程安全
StringBuilder线程不安全
单线程操作使用StringBuilder 效率高
多线程操作使用StringBuffer 安全
五Integer int对象包装类
java.lang.Integer
1.数字格式的字符串转成基本数据类型的方法
1> 将该字符串封装成了Integer对象并调用对象的方法intValue();
2> 使用Integer.parseInt(numstring); 不用建立对象直接类名调用
2.将基本类型转成字符串
1> Integer中的静态方法String toString(int);
2> int+ "";
3.将一个十进制整数转成其他进制
1> 转成二进制: toBinaryString
2> 转成八进制: toOctalString
3> 转成十六进制: toHexString
4> toString(intnum, intradix);
4.将其他进制转换十进制: parseInt(string, radix); //将给定的数转成指定的基数进制
5.在jdk1.5版本后对基本数据类型对象包装类进行升级在升级中使用基本数据类型对象包装类可以像使用基本数据类型一样进行运算
Integer i = newInteger(4); //1.5版本之前的写法
Integer i = 4; //自动装箱1.5版本后的写法
i = i + 5;
//i对象是不能直接和5相加的其实底层先将i转成int类型在和5相加而转成int类型的操作是隐式的自动拆箱: 拆箱的原理就是i.intValue(); i+5运算完是一个int整数如何赋值给引用类型i呢? 其实有对结果进行装箱
Integer c = 127;
Integer d = 127;
System.out.println(c = = d); //true
//在装箱时如果数值在byte范围之内那么数值相同不会产生新的对象也就是说多个数值相同的引用指向的是同一个对象
六System 系统类
java.lang.System
属性和行为都是静态的
longcurrentTimeMillis(); //返回当前时间毫秒值
exit(); //退出虚拟机
Properties getProperties(); //获取当前系统的属性信息
Properties prop = System.getProperties(); //获取系统的属性信息并将这些信息存储到Properties集合中
System.setProperty("myname","祎哥哥"); //给系统属性信息集添加具体的属性信息
String name = System.getProperty("os.name"); //获取指定属性的信息
七Runtime 运行时环境类
java.lang.Runtime
类中没有构造方法不能创建对象
但是有非静态方法说明该类中应该定义好了对象并可以通过一个static方法获取这个对象用这个对象来调用非静态方法这个方法就是staticRuntime getRuntime(); (单例设计模式)
classRuntimeDemo {public static void main(String[] args) throwsException {
Runtime r=Runtime.getRuntime();
Process p= r.exec("notepad.exe SystemDemo.java"); //运行指定的程序
Thread.sleep(4000);
p.destroy();//杀掉进程
}
}
八Math 数学运算工具类
java.util.Math
用于数学运算的工具类属性和行为都是静态的该类是final不允许继承
staticdoubleceil(doublea); //返回大于指定数值的最小整数
staticdoublefloor(doublea); //返回小于指定数值的最大整数
staticlonground(doublea); //四舍五入成整数
staticdoublepow(doublea, doubleb); //a的b次幂
staticdoublerandom(); //返回0~1的伪随机数
九Date 日期类
java.util.Date
日期类月份从0-11(这就是老外 奇奇怪怪)
//日期对象转成毫秒值
Date d = newDate();
longtime1 = d.getTime();
longtime2 = System.currentTimeMillis(); //毫秒值
//毫秒值转成具体的日期
longtime = 1322709921312l;
Date d = newDate();
d.setTime(time);
//将日期字符串转换成日期对象使用的就是DateFormat方法中的Date parse(String source);
publicstaticvoidmethod() throwsException {
String str_time = "2011/10/25";
DateFormat df = newSimpleDateFormat("yyyy/MM/dd"); //SimpleDateFormat作为可以指定用户自定义的格式来完成格式化
Date d = df.parse(str_time);
}
//将日期对象转换成字符串的方式DateFormat类中的format方法
//创建日期格式对象
DateFormat df = newSimpleDateFormat(); //该对象的建立内部会封装一个默认的日期格式11-12-1 下午1:48
//如果想要自定义日期格式的话可使用SimpleDateFormat的构造函数将具体的格式作为参数传入到构造函数中必须要参与格式对象文档
df = newSimpleDateFormat("yyyy年MM月dd日HH:mm:ss");
//调用DateFormat中的format方法对已有的日期对象进行格式化
String str_time = df.format(d);
十Calendar 日历类
ava.util. Calendarpublic static voidmethod(){
Calendar c=Calendar.getInstance();
System.out.println(c.get(Calendar.YEAR)+ "年" + (c.get(Calendar.MONTH)+1) + "月"
+ getNum(c.get(Calendar.DAY_OF_MONTH)) + "日"
+ "星期" +getWeek(c.get(Calendar.DAY_OF_WEEK)));
}public static String getNum(intnum){return num > 9 ? num + "" : "0" +num;
}public static String getWeek(intindex){//查表法 建立数据的对应关系//最好 数据个数是确定的 而且有对应关系 如果对应关系的一方 是数字 而且可以作为角标 那么可以通过数组来作为表
String[] weeks = {"","日","一","二","三","四","五","六"};returnweeks[index];
}
十一File 文件类
java.io.File;
1.将文件系统中的文件和文件夹封装成了对象提供了更多的属性和行为可以对这些文件和文件夹进行操作这些是流对象办不到的因为流只操作数据
2.具体方法:
//创建
booleancreateNewFile(); 在指定目录下创建文件如果该文件已存在则不创建而对操作文件的输出流而言输出流对象已建立就会创建文件如果文件已存在会覆盖除非续写
booleanmkdir(); 创建此抽象路径名指定的目录
booleanmkdirs(); 创建多级目录
//删除注意: 在删除文件夹时必须保证这个文件夹中没有任何内容才可以将该文件夹用delete删除window的删除动作是从里往外删java删除文件不走回收站要慎用
booleandelete(); 删除此抽象路径名表示的文件或目录
voiddeleteOnExit(); 在虚拟机退出时删除
//获取
longlength(); 获取文件大小
String getName(); 返回由此抽象路径名表示的文件或目录的名称
String getPath(); 将此抽象路径名转换为一个路径名字符串
String getAbsolutePath(); 返回此抽象路径名的绝对路径名字符串
String getParent(); 返回此抽象路径名父目录的抽象路径名如果此路径名没有指定父目录则返回null
longlastModified(); 返回此抽象路径名表示的文件最后一次被修改的时间
File.pathSeparator; 返回当前系统默认的路径分隔符windows默认为";"
File.Separator; 返回当前系统默认的目录分隔符windows默认为"\"
//判断
booleanexists(); 判断文件或者文件夹是否存在
booleanisDirectory(); 测试此抽象路径名表示的文件是否是一个目录
booleanisFile(); 测试此抽象路径名表示的文件是否是一个标准文件
booleanisHidden(); 测试此抽象路径名指定的文件是否是一个隐藏文件
booleanisAbsolute(); 测试此抽象路径名是否为绝对路径名
//重命名
booleanrenameTo(File dest); 可以实现移动的效果剪切+重命名
十二Properties
一个可以将键值进行持久化存储的对象Map --> Hashtable的子类
用于属性配置文件键和值都是字符串类型
特点: 可以持久化存储数据, 键值都是字符串, 一般用于配置文件
load(); 将流中的数据加载进集合原理其实就是将读取流和指定文件相关联并读取一行数据因为数据是规则的key=value 所以获取一行后通过= 对该行数据进行切割左边就是键右边就是值将键值存储到properties集合中
store(); 写入各个项后刷新输出流
list(); 将集合的键值数据列出到指定的目的地
java常见_Java 常用类相关推荐
- java 四舍五入_Java常用类
每个人的心里,都藏着一个了不起的自己,只要你不颓废,不消极,一直悄悄酝酿着乐观,培养着豁达,坚持着善良,只要在路上,就没有到达不了的远方! BigInteger 在Java中,整型最大范围是64位的l ...
- Java基础复习-常用类
Java基础复习-常用类 本文仅对学习过程中所缺java知识点的查缺补漏复习 String 代表字符串.Java程序中的所有字符串字面值(如"abc")都作为此类的实例实现. St ...
- 【JDK源码】java.lang包常用类详解
接下来的几天开始JDK源码的学习和总结,之前看<java编程思想>的时候看到java的基础知识有很多,其中支撑着这些基础的基础中的基础当属JDK.JDK的基础代码里面又分了很多基础的模块, ...
- JAVA基础(12.Java中的常用类String)
目录 1.前言 2.日期(时间)相关类 2.1 日期类的应用场景 2.1.1Java中的日期相关的几个类 3. Java中的常用类学习方式 3.1 什么是常用类?为什么要学习? 3.2 怎么使用Jav ...
- 时间日期类JAVA包含地区属性_Java常用类 | 时间和日期类
开发中经常涉及到时间与日期,记录下Java中与时间和日期相关的API JDK8之前与时间日期相关的类 java.lang.System类 System类提供了一个公共的静态方法currentTimes ...
- java 类数组_Java常用类-字符串、日期类、算法及数组工具类等
大家好,乐字节的小乐又和大家见面了.这次要给大家讲述的是Java常用类. 主要有以下知识点: Ø 字符串相关类(String .StringBuffer.StringBuilder) Ø 算法及数组工 ...
- java常用class类_java常用类
java常用类 内部类 1.成员内部类:在一个类的内部定义一个完整的类 例如:外部类public class Body{ 内部类class Header{ } } 内部类可以直接访问外部类的私有成员, ...
- java常用类需要记吗_java 常用类
java 常用类库 Object 类:clone(), equals(), toString() Runtime 类:代表 java 程序的运行环境 定时器: Timer 和 TimerTask 类 ...
- java 字符串 面试题_Java常用类String的面试题汇总(java面试题)
1.比较两个字符串时使用"=="还是equals()方法? 当然是equals方法."=="测试的是两个对象的引用是否相同,而equals()比较的是两个字符串 ...
最新文章
- java如何配置环境_java如何配置环境变量
- 真格量化——依托均线购买期权策略
- 人脸识别资源推荐:20款人脸检测/识别的API、库和软件
- BotVS开发基础—2.4 获取订单、取消订单、获取未完成订单
- 电脑摄像头未能创建连接服务器,Win7摄像头提示"未能创建视频预览"的原因及解决方法...
- node mysql商城开发_GitHub - Ssipon/nideshop: NideShop:基于Node.js+MySQL开发的开源免费商城(api服务器端)...
- TranslateAnimation类:位置变化动画类
- 在Qt中调用python,读取csv文件,实现K近邻算法(二)
- 网络下载器 迅雷大众版 v7.9.42.5050 精简绿色版
- OpenCV_用形态学运算变换图像
- python opencv 实现图像白平衡
- 美国英语情景对话大全(zt)
- Java stream().filter()筛选出符合条件的数据
- UCI行为识别——Activity recognition with healthy older people using a batteryless wearable sensor Data Set
- win7系统设置cmd窗口默认以管理员权限运行
- 12306个人敏感信息泄露
- 抖音下载量超 Facebook;华为新款手机陷“绿屏”门;苹果又遭起诉 | 极客头条...
- SPA单页面应用首屏加载速度提升方法
- 【JVM进阶之路】垃圾回收机制和GC算法之三色标记(三)
- NTIRE2020~21 SISR超分 总结
热门文章
- 现在的网管都在做什么!
- jquery 删除字符串最后一个字符的方法
- SQL Server 表变量和临时表的区别
- Asp.Net生命周期系列三
- Asp.Net生命周期系列二
- 【已解决】github中git push origin master出错:error: failed to push some refs to(亲测)
- Thinkphp5 分页带参数(亲测)
- elasticsearch5.0启动出现的错误(自己做过测试,有错误可以在这上面找)
- redis 使用管道pipeline和不使用管道的性能对比
- Loadrunner基础:Loadrunner Vuser基本概念和应用