java总结第四次//常用类
六、常用类
主要内容:Object类、String类、Date类、封装类
(一)Object类
1.Object类是所有Java类的根父类
2.如果在类的声明中未使用extends关键字指明其父类,则默认父类为Object类
public class Person {
...
}
等价于:
public class Person extends Object {
...
}
(二)==操作符与equals方法
==操作符:
引用类型比较引用(是否指向同一个对象);
Person p1=new Person(); Person p2=new Person();
if (p1==p2){…}
基本类型比较值;int a=5; if(a==6){…}
用"=="进行比较时,符号两边的数据类型必须一致(可自动转换的基本数据类型除外),否则编译出错;
equals方法:
是Object类的方法,由于所有类都继承Object类,也就继承了equals()方法。
只能比较引用类型,
在Object类的定义中,其作用与“==”相同,比较是否指向同一个对象。格式:obj1.equals(obj2)
注意:对类File、String、Date、封装类(Wrapper Class)及很多重写了equals()方法的类来说,是比较类型及内容而不考虑引用是否指向同一个对象。
(三)toString 方法
1.toString()方法在Object类中定义,其返回值是String类型,内容为类名以及该对象的引用地址。
2.在进行String与其它类型数据的连接操作时,自动调用toString()方法。
例如:
Date now=new Date();
System.out.println(“now=”+now);
相当于
System.out.println(“now=”+now.toString());
3.可以根据需要在用户自定义类型中重写toString()方法
比如String 类就重写了toString()方法,返回字符串的值。
s1=“hello”;
System.out.println(s1);
相当于
System.out.println(s1.toString());
4.基本类型数据转换为String类型时,调用了对应封装类的 toString()方法例如:
int a=10;
System.out.println(“a=”+a);
5.String的常用方法
public boolean startsWith(String s)
public boolean endsWith(String s) :判断当前字符串对象的前缀(后缀)是否是参数s指定的字符串
public int compareTo(String s):按字典序与参数s指定的字符串比较大小
public int compareToIgnoreCase(String s)
public boolean contains(String s):判断当前字符串对象是否含有参数指定的字符串 s
public int indexOf (String s):从头开始检索字符串 s,并返回首次出现 s 的位置
indexOf(String s ,int startpoint)
lastIndexOf (String s)
public String substring(int startpoint):获得一个当前字符串的子串
substring(int start ,int end)
public String trim(): 得到一个去掉前后空格后的字符串对象
字符串与字符数组
String(char[]):用字符数组中的全部字符创建字符串对象
String(char[],int offset,int length): 用字符数组中的部分字符创建字符串对象
public char[] toCharArray():将字符串中的全部字符存放在一个字符数组中的方法
字符串与字节数组
String(byte[]):用指定的字节数组构造一个字符串对象。
String(byte[],int offset,int length) :用指定的字节数组的一部分,即从数组起始位置offset开始取length个字节构造一个字符串对象。
public byte[] getBytes() :使用平台默认的字符编码,将当前字符串转化为一个字节数组。
public byte[] getBytes(String charsetName) :使用参数指定字符编码,将当前字符串转化为一个字节数组。
注意:String s="a"; //创建了一个字符串
s=s+"b"; //实际上原来的"a"字符串对象已经丢弃了,现在又产生了一个字符串s+"b"(也就是"ab")。
6.StringBuffer类
String:不可变的字符序列
StringBuffer:可变的字符序列
String s = new String("Hello");
StringBuffer buffer = new StringBuffer("Hello");
buffer.append("World");
StringBuffer类有三个构造方法:
StringBuffer()
StringBuffer(int size)
StringBuffer(String s)
StringBuffer:可变字符序列、线程安全、效率低
StringBuilder:可变字符序列、线程不安全、效率高
(四)Date&DateFormat类
Date类在java.util包中。使用Date类的无参构造方法创建的对象可以获取本地当前时间。
SimpleDateFormat可用来实现日期的格式化。
public SimpleDateFormat(String pattern):使用参数pattern指定的格式创建一个对象。
public String format(Date date):按照构造方法中指定的pattern格式化时间对象date。
(五)封装类
java总结第四次//常用类的更多相关文章
- JAVA基础——Java 中必须了解的常用类
Java中必须了解的常用类 一.包装类 相信各位小伙伴们对基本数据类型都非常熟悉,例如 int.float.double.boolean.char 等.基本数据类型是不具备对象的特性的,比如基本类型不 ...
- Java中必须了解的常用类
1.Java的包装类 基本数据类型我们都很熟悉,例如:int.float.double.boolean.char等,基本数据类型不具备对象的特征,不能调用方法,一般能实现的功能比较简单,为了让基本数据 ...
- Java中的集合和常用类
Java中的常用类: ▪ Object类 ▪ Math类 ▪ String类和StringBuffer类(字符串) ▪ 8种基本类型所对应的包装类 ▪ java.util包中的类——Date类 Obj ...
- java的eclipse操作和常用类Object的使用
1.eclipse的快捷键: (1)alt + / 内容辅助. 如:main+alt + / 会出现完整的main方法. syso+alt+ / 会输出. 如编写某个方法时,只需写入方法名 + a ...
- Java笔记(四)常用基础类
常用基础类 一)String String内部用一个字符数组表示字符串: private final char value[]; 注意:Java9对此做了优化,采用byte[],如果字符都是ASCII ...
- Java基础(七)常用类
一.Math类 1.Math类介绍 Math类属于java.lang包下面,里面包含用于执行基本数学运算的方法,如初等指数,对数,平方根和三角函数,该类被final修饰. 常用字段: 1.E 表示自然 ...
- Java基础(十一)常用类总结(一)
这里有我之前上课总结的一些知识点以及代码大部分是老师讲的笔记 个人认为是非常好的,,也是比较经典的内容,真诚的希望这些对于那些想学习的人有所帮助! 由于代码是分模块的上传非常的不便.也比较多,讲的也是 ...
- 一大波Java来袭(四)String类、StringBuilder类、StringBuffer类对照
本文主要介绍String类.StringBuffer类.StringBuilder类的差别 : 一.概述 (一)String 字符串常量.可是它具有不可变性,就是一旦创建,对它进行的不论什么改动操作 ...
- Java SE核心之一:常用类,包装类,其他基本数据类型包装类。
在Java继承体系中,java.lang.Object类位于顶端(是所有对象的直接或间接父类).如果一个类没有写extends关键字声明其父类,则该类默认继承java.lang.Object类.Obj ...
随机推荐
- 关于使用"/"来 dispatcherServlet 的url-pattern带来的问题
之前一直使用*.do来做的,但是绝的*.do很丑,于是就改用"/"来配置: <servlet> <servlet-name>dispatcherServle ...
- zabbix命令:zabbix_get获取item数据
zabbix命令:zabbix_get获取item数据 http://www.ttlsa.com/zabbix/zabbix-zabbix_get-get-items/
- iOS:使用Github托管自己本地的项目代码方式三(命令行方式: Terminal Line)
使用终端命令行将本地项目代码上传到github上进行托管 对于IOS开发者来说,Github的使用是必须要掌握的一种技能,而把项目由本地上传到Github有多种方式 1.开发工具Xcode配置Git, ...
- POJ 1528问题描述
Description From the article Number Theory in the 1994 Microsoft Encarta: ``If a, b, c are integers ...
- 公众平台调整SSL安全策略,开发者升级的方法
公众平台调整SSL安全策略,请开发者注意升级 近一段时间HTTPS加密协议SSL曝出高危漏洞,可能导致网络中传输的数据被黑客监听,对用户信息.网络账号密码等安全构成威胁.为保证用户信息以及通信安全,微 ...
- Android 菜单(OptionMenu)
菜单是用户界面中最常见的元素之一,使用非常频繁,在Android中,菜单被分为如下三种,选项菜单(OptionsMenu).上下文菜单(ContextMenu)和子菜单(SubMenu). 一.概述 ...
- 蒋鑫:为什么 Git 比 SVN 好
在版本控制系统的选型上,是选择Git还是SVN? 对于开源项目来说这不算问题.使用Git极大地提高了开发效率.扩大了开源项目的参与度. 增强了版本控制系统的安全性,选择Git早已是大势所趋. 但对于企 ...
- 启用Service Broker
2015-10-20 17:31 整理,未发布数据库邮件配置向导,在选择配置任务页面点击下一步时,弹出"数据库邮件依赖于 Service Broker...".点击是,整个SSMS ...
- javascript设计模式学习之十二——享元模式
一.享元模式的定义及使用场景 享元模式是为了解决性能问题而诞生的设计模式,这和大部分设计模式为了提高程序复用性的原因不太一样,如果系统中因为创建了大量类似对象而导致内存占用过高,享元模式就非常有用了. ...
- CALayer 图层
// CALayer 图层属性,继承UIView都有该属性,可设置边框宽度.颜色.圆角.阴影等 UIImageView *imageView = [[UIImageView alloc]initWit ...