Java基础篇——常用类
Objec类
Test t1 = new Test();
Test t2 = new Test();
//toString方法,对某个对象的字符串输出
//getClass方法,返回该对象的Class类型
Class c = t1.getClass();
//hashCode方法,返回某个对象地址的哈希码(int 型)
//equals方法,比较该对象和形参对象的地址值 eg:t1.equals(t2)==false;
//finalize方法,jvm会自动调用该方法回收垃圾对象,程序员也可以主动提示jvm回收"System.gc()"
Integer整数缓冲区
Integer integer1 = new Integer(100);
Integer integer2 = new Integer(100);
System.out.println(integer1==integer2);
//自动装箱,实际调用Integer.valueOf()
Integer integer3 = 100;
Integer integer4 = 100;
System.out.println(integer3=integer4);
Integer integer5 = 500;
Integer integer6 = 500;
System.out.println(integer5==integer6);
输出为:
第一个false是因为integer1和integer2虽然都为100,但是确指向了堆中的两个不同的包装类对象,虽然内容一样,但是实际堆中地址不同。
第二个true和第三个false就涉及到了缓冲区
java预先在堆里创建了256个缓冲区,存放了数值为-128~127的整数包装类对象,称为IntegerCatchpublic static Integer valueOf(int i) {//valueOf方法实现细节
if (i >= IntegerCache.low && i <= IntegerCache.high)
return IntegerCache.cache[i + (-IntegerCache.low)];
return new Integer(i);
}//IntegerCache即为缓冲区,low为-128,high为127,合起来为256个数
// cache = new Integer[(high - low) + 1]; 因为-128≥100≤127所以integer3和integer4实际指向的是整数包装类缓冲区中的100对象,所以返回为true
但是500≥127,所以返回的是new Integer(500);,即3和4实际上和integer1、integer2是等价的
String类
字符串是常量,存储在方法区中的字符串池中(便与共享),创建后不可改变(指存储在字符串池中的对象不可改变)
String name="zhangsan";
name="lisi";//重新创建lisi对象用name指向,原zhangsan对象依然存在,不过变为垃圾对象
常用方法:
//length属性,存储字符串长度
//charAt(int )方法,下标读取,类似于数组下标
//contains(String )方法,判断该字符串中有没有包含参数字符串
//toCharArray方法,将字符串转为数组返回
//indexOf(String )方法,返回参数字符串在该字符串中第一次出现的位置下标
//trim方法,去掉字符串前后的空格(不包括中间)
//toUpperCase/toLowerCase方法,大小写转换
//startsWith(String )/endsWith()方法,是否以参数字符串开头或结尾
//replace(String old,String new)方法,以new去替换该字符串中的old
//split(String )以参数字符串分割该字符串
String name="java is the best languge,do you agree?";
String[] array=name.split(" ")
//同时用","和" "分割 name.split("[ ,]");
可变长String类
StringBuffer:效率慢,线程安全
//append(String)方法,向该字符串后追加参数字符串
//insert(int , String)方法,向位置int插入参数字符串
//replace(int start,int end,String)用参数字符串替换start-end位置的字符串(左闭右开区间)
//delete(int start,int end)方法,删除位置start-end的字符串
StringBuilder:效率快,线程不安全,适用于单线程
方法和StringBuffer相同
BigDecimal类
为浮点数计算而生
//subtract(Bigdecimal )减法 原-参
//add(Bigdecimal) 加法
//multiply(Bigdecimal) 乘法
//divide (BigDecimal ) 除法 原/参
//除法中可以指定保留小数和进位方式
//divide(BigDecimal,2,BigDecimal.ROUND_HALF_UP)用四舍五入法保留两位小数
Java基础篇——常用类的更多相关文章
- 【Java基础】常用类
常用类 字符串相关的类 String类:代表字符串,使用一对 "" 引起来表示. public final class String implements java.io.Seri ...
- java基础之常用类1
java基础 以下内容为本人的学习笔记,如需要转载,请声明原文链接 java常用类: 1.内部类 2.Object类 3.Object类常用方法 4.包装类 5.String类 6.BigDeci ...
- java基础篇 -- 常用的日期加减和日期格式化工具类
平时我们遇到日期的加减,感觉是相当麻烦的,以下是常用的日志加减的方法,包括日的加减.月的加减等,也包括了一些常用的日期格式化,这样在我们以后碰到日期加减的时候会省去很多麻烦,欢迎大神指正和吐槽: pa ...
- Java基础总结--常用类以及包的访问权限
-----Object---所有类的根类1.怎么得到的:通过对所有对象不断的向上抽取共性,具备所有对象的共性的东西2.常用的方法* equals(Object obj):比较两个对象的引用是否指向同一 ...
- Java基础之常用类
1.Collections类: (1)此类完全由在 collection 上进行操作或返回 collection 的静态方法组成. (2)静态方法摘要: static <T> boolea ...
- JAVA基础篇 之 类的初始化
类中属性的隐式初始化,代码如下,我们看下不同类型默认的初始值是什么 创建一个Demo类如下: class Demo { int a; byte b; short c; long d; boolean ...
- java基础篇---I/O技术
java基础篇---I/O技术 对于任何程序设计语言而言,输入输出(I/O)系统都是比较复杂的而且还是比较核心的.在java.io.包中提供了相关的API. java中流的概念划分 流的方向: 输 ...
- 金三银四跳槽季,BAT美团滴滴java面试大纲(带答案版)之一:Java基础篇
Java基础篇: 题记:本系列文章,会尽量模拟面试现场对话情景, 用口语而非书面语 ,采用问答形式来展现.另外每一个问题都附上“延伸”,这部分内容是帮助小伙伴们更深的理解一些底层细节的补充,在面试中可 ...
- java基础篇---HTTP协议
java基础篇---HTTP协议 HTTP协议一直是自己的薄弱点,也没抽太多时间去看这方面的内容,今天兴致来了就在网上搜了下关于http协议,发现有园友写了一篇非常好的博文,博文地址:(http: ...
- 小白—职场之Java基础篇
java基础篇 java基础 目录 1.java是一种什么语言,jdk,jre,jvm三者的区别 2.java 1.5之后的三大版本 3.java跨平台及其原理 4.java 语言的特点 5.什么是字 ...
随机推荐
- HFS局域网分享文件的神器(附下载链接)
温馨提示,下载链接在页末 前言 假如说你需要传递个学习资料给好基友,我们有许多种方式可选:硬盘媒介.网络分享等. 要是论速度,还是得拿3.0或以上的U盘来拷贝,确实神速哈哈.但是其也有局限性,比如需要 ...
- PHP配置负载均衡
我项目是用宝塔面板.所以这次用宝塔面板演示. 环境: LNMP 代码:2套.2套代码除了配置其他都是一样 域名:1个.2级域名.其实一级二级都没关系 /************************ ...
- JUC(2)使用condition实现精准通知唤醒
package com.orderPC; import java.util.concurrent.locks.Condition; import java.util.concurrent.locks. ...
- 《吐血整理》高级系列教程-吃透Fiddler抓包教程(34)-Fiddler如何抓取微信小程序的包-上篇
1.简介 有些小伙伴或者是童鞋们说小程序抓不到包,该怎么办了???其实苹果手机如果按照宏哥前边的抓取APP包的设置方式设置好了,应该可以轻松就抓到包了.那么安卓手机小程序就比较困难,不是那么友好了.所 ...
- 4.mysql-进阶
1.事务 将多个操作步骤变成一个事务,任何一个步骤失败,则回滚到事务的所有步骤之前状态,大白话:要成功都成功:要失败都失败. 如转账操作,A扣钱.B收钱,必须两个步骤都成功,才认为转账成功 innod ...
- i春秋GetFlag
进去是个提示界面,提示我们这是个迷你文件管理系统,我们需要登录然后下载文件再获得flag. 然后我们查看源码,没什么信息,点login进去查看源码,没什么信息 下方出现了一个substr(md5(ca ...
- 如何在kali Linux上安装VMware Tools
作用: 1.让虚拟机和本地上的文件可以互传,直接拖动就可以实现转接 2.可在虚拟机上执行本地脚本 3.本地时钟与虚拟机同步 4........... 方法: 1.运行虚拟机 2.在上方菜单栏中点击安装 ...
- Windows server 2008 tomcat间歇性掉线关闭
1.代码没有问题,已经正常运行一年. 2.近期无更新代码. 3.tomcat 无运行报错. 今天突然间歇性掉线次数很多,客户不停反应情况,这边一时从代码开始找,我问了下在场运维其他服务器系统有无此现象 ...
- py周结04
py周结04 异常类型,理语法结构及实践案例 1.异常类型 SyntaxError 语法错误 NameError 名字错误 IndexError 指数错误 KeyError 关键字错误 Indenta ...
- Java反射与安全问题
1.Java反射机制 Java反射机制是指在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法:对于任意一个对象,都能够调用它的任意一个方法和属性:这种动态获取的信息以及动态调用对象的方法的 ...