常用类总结(上)

Object:

java.lang.Object

Object:Java中所有的类(自定义的类,jdk提供的类)都继承自Object(所有的根类)

public int hashCode()返回该对象的哈希码值(在内存中每个对象的哈希码值不一样),跟地址值有关系(哈希算法算出来的)虽然跟地址值有关系,理解为"地址值",但是不是实际意义的地址值!

public final Class getClass()返回当前某个类的运行时的类(就是字节码文件在运行)

返回值是一个引用类型(具体类)

Class 类的实例表示正在运行的 Java 应用程序中的类和接口(跟反射有关系)

Class类成员方法:public String getName():以 String 的形式返回此 Class 对象所表示的实体(类,接口…)

//举例
public class ObjectDemo{public static void main(String[] args){Student s1=new Student();Student s2=new Student();System.out.println(s1.hashCode());//305808283System.out.println(s2.hashCode());//292938459Class  c=s1.getClass();System.out.println(c);//class com.qianfeng.object_01.Student //Class类对象//public String getName()String name = c.getName() ;System.out.println(name);//com.qianfeng.object_01.Student (一个类的全限定名称:包名.类名)}
}

Object类中toString()方法

public String toString():返回该对象的字符串表示结果应是一个简明但易于读懂的信息表达式。(建议所有子类都重写此方法)

创建一个类对象:直接输出对象名和使用对象名.toString()是等价的

toString():包名.类名 +"@"+十六进制数据===>等价于 某个对象.getClass().getName() +"@" +Integer.toHexString(对象.hasCode())

public class ObjectDemo {public static void main(String[] args) {//创建一个学生类Student s1 = new Student("高圆圆",30) ;System.out.println(s1);//com.qianfeng.object_02.Student@7de26db8//输出s1的toStringSystem.out.println(s1.toString());//com.qianfeng.object_02.Student@7de26db8//toString()实质的意义:就是为了描述当前对象的信息表达式(属性信息)

Object类中equals方法

public boolean equals(Object obj):表达某个对象和当前obj对象是否"相等"

==:连接的是两个对象:比较的是两个对象地址值是否相同

==:如果连接的是两个数值(整数默认int),比较的两个值是否相同!

public class ObjectDemo {public static void main(String[] args) {//创建学生对象Student s1 = new Student("高圆圆",27) ;Student s2 = new Student("高圆圆",27) ;System.out.println(s1==s2);//falseStudent s3 = s1 ;System.out.println(s1==s3);//trueSystem.out.println(s1.equals(s2));//false  (没有重写Object类中equals方法)//true(重写了Object类中的equals方法,比较是当前两个对象的内容(成员变量)是否相同)}
}

Object类中clone()方法(了解)

protected Object clone() :(浅克隆)
throws CloneNotSupportedException
创建并返回该对象的副本

注意事项:
Object 类的 clone 方法执行特定的复制操作。
首先,如果此对象的类不能实现接口 Cloneable,则会抛出 CloneNotSupportedException

finalize():跟垃圾回收器有关系(当前一个对象没有更多引用的时候,被GC回收,调用这个finalize())

System.gc(): 手动垃圾回收器

String

String 类代表字符串。

Java 程序中的所有字符串字面值(如 “abc” )都作为此类的实例实现。字符串是常量,一旦被赋值,其值不能更改!(此处指的是地址值)

构造方法:

1)String():空参构造

2)public String(char[] value) :将字符数组转换成字符串

3)String(char[] value, int offset, int count):将字符数组的一部分转换成字符串

4)public String(byte[] bytes) :将字节数转换成字符串

5)public String(byte[] bytes, int offset, int length):将字节数组一部分转换成字符串内容

6)String(String original) :直接传递一个字符串常量值 String(“hello”);

public class StringDemo {public static void main(String[] args) {//String():空参构造String s1 = new String() ;System.out.println(s1+"---"+s1.length());System.out.println("---------------------");//public String(char[] value)//将字符数组转换成字符串char[] chs = {'a','b','c','d','e'} ;//String s2 = new String(chs) ;//将字符数组的一部分转换成字符串String s2 = new String(chs, 2, 3) ;System.out.println(s2);//"abcde"System.out.println("---------------------");//public String(byte[] bytes) //将字节数转换成字符串byte[] bytes = {97,98,99,100,101} ; //String s3 = new String(bytes) ; //97---->ASCII码表中对应的字符 a ,b,c...String s3 = new String(bytes, 1, 2) ;System.out.println("---------------------");String s4 = new String("hello") ;//类似于:String s4 = "hello" ;(此处与String s4="hello";有所不同前者:在堆内存开辟空间,并且常量还要在常量存储一份(两个)后者:直接使用常量在常量值找,是否存在,如果存在返回地址  (一个))System.out.println(s4);System.out.println(s4.length());}
}

判断功能的常用方法:

public boolean equals (Object anObject): (常用)

比较两个字符串内容是是否相同(区分大小写)

public boolean equalsIgnoreCase (String anotherString):

比较两个字符串的内容是否相同,不区分大小写

public boolean isEmpty(): 判断对象是否为空

public boolean contains(String s):判断字符串是否包含在指定字符串中

public class StringDemo {public static void main(String[] args) {String s1 = "helloWorld" ;String s2 = "HelloWORLD" ;//    public boolean equals (Object anObject)://比较两个字符串内容是是否相同(区分大小写)System.out.println("equals:"+s1.equals(s2));//false//public boolean equalsIgnoreCase (String anotherString):System.out.println("eqalsIgoreCase:"+s1.equalsIgnoreCase(s2));//true//public boolean isEmpty(): 判断对象是否为空System.out.println(s1.isEmpty());// public boolean contains(String s):System.out.println("contains:"+s1.contains("ak47"));System.out.println("contains:"+s1.contains("oWo"));System.out.println("-------------------------------");//public boolean startsWith(String prefix) System.out.println("startsWith:"+s1.startsWith("hel"));//public boolean endsWith(String suffix) :System.out.println("endsWith:"+s1.endsWith("ld"));}
}

== 和equals的区别:

== :连接的是两个对象,比较的两个对象地址值是否相同(如果是对象比较的是地址值);

大部分jdk提供的一些常用类---->都已经重写了equals方法

某个对象.equals(传递一个对象):默认比较是地址值,String类重写了equals方法,所以比较字符串的内容是否相同

获取功能的方法(重要)
public int length () :返回此字符串的长度。
public String concat (String str) :将指定的字符串连接到该字符串的末尾。(拼接的功能)
public char charAt (int index) :返回指定索引处的 char值。
public int indexOf (String str) :返回指定子字符串第一次出现在该字符串内的索引。
public String substring (int beginIndex) :返回一个子字符串,从beginIndex开始截取字符串到字符串结尾。
public String substring (int beginIndex, int endIndex) :
返回一个子字符串,从beginIndex到endIndex截取字符串。含beginIndex,不含endIndex。

public class StringDemo {public static void main(String[] args) {//定义一个字符串String s = "hellojava" ;//public int length () :返回此字符串的长度System.out.println("length:"+s.length());public String concat (String str) :将指定的字符串连接到该字符串的末尾String s1 = "ee" ;String s2 = s.concat(s1) ;System.out.println("s2:"+s2);System.out.println("------------------");//public char charAt (int index) :返回指定索引处的 char值。System.out.println("charAt:"+s.charAt(4)); //有一个字符串数据,需要将字符串数据遍历! (普通for和charAt()相结合,就可以遍历字符串)//public int indexOf (String str)System.out.println("indexOf:"+s.indexOf("owo"));System.out.println("-----------------------------");//public String substring (int beginIndex):从指定位置默认截取到末尾(返回被截取的字符串)System.out.println("substring:"+s.substring(5));//java//public String substring (int beginIndex, int endIndex):包前不包后(包左不包右)System.out.println("substring:"+s.substring(5, 9));System.out.println(s.toUpperCase());}
}

新的体会:本周学习了常用类,由于常用类比较多,先总结一部分,随后在将剩下的补上

菜鸟阿鑫的常用类(上)总结相关推荐

  1. 菜鸟学JAVA之——常用类(StringBuffer、StringBuilder、Comparable、Comparator等)

    文章目录 常用类 字符串相关的类 一.String类及常用方法 二.StringBuffer.StringBuilder JDK 8 之前的日期时间API 一.System静态方法 二.Date类 三 ...

  2. Java程序员从笨鸟到菜鸟之(五)java开发常用类(包装,数字处理集合等)(下)...

     本文来自:曹胜欢博客专栏.转载请注明出处:http://blog.csdn.net/csh624366188 写在前面:由于前天项目老师建设局的项目快到验收阶段,所以,前天晚上通宵,昨天睡了大半天, ...

  3. Java程序员从笨鸟到菜鸟之(五)java开发常用类(包装,数字处理集合等)(下)

    写在前面:由于前天项目老师建设局的项目快到验收阶段,所以,前天晚上通宵,昨天睡了大半天,下午我们宿舍聚会,所以时间有点耽误,希望大家见谅 上接: Java程序员从笨鸟到菜鸟之(四)java开发常用类( ...

  4. JavaSE学习总结(八)常用类(上)Object类==与equals方法的区别浅克隆的特点Scanner类String类String两种创建对象方式的区别String类的各种功能

    JavaSE学习总结(八)常用类(上)/Object类/==与equals方法的区别/浅克隆的特点/Scanner类/String类/String两种创建对象方式的区别/String类的各种功能 常用 ...

  5. 这些Java常用类,你必须要学会,还不快快收藏?(近两万字详细介绍)

    零基础学习之Java常用类 概述 包装类 和数学相关的类 String类 创建字符串对象 使用构造方法 使用静态方法 使用" " + 拼接 字符串对象的比较 字符串的常用方法 可变 ...

  6. Hbase API中常用类介绍和使用

    网上Hbase的介绍有很多,案例也不少.自己写了个Demo,进行一些简单的总结. HBase 常用类介绍. JAVA API 和 HBase数据库模型之间的关系 JAVA 类 Hbase 数据模型 H ...

  7. Selenium2(WebDriver)总结(五)---元素操作进阶(常用类)

    Selenium2(WebDriver)总结(五)---元素操作进阶(常用类) 1.Alert类 Alert是指windows弹窗的一些操作,需要new一个Alert类 driver.switchTo ...

  8. java常用类的方法,java常用类的使用方法

    java常用类的使用方法 Interger:整数类型 1.属性. static int MAX_VALUE:返回最大的整型数: static int MIN_VALUE:返回最小的整型数: stati ...

  9. 浅谈Java锁,与JUC的常用类,集合安全类,常用辅助类,读写锁,阻塞队列,线程池,ForkJoin,volatile,单例模式不安全,CAS,各种锁

    浅谈JUC的常用类 JUC就是java.util.concurrent-包下的类 回顾多线程 Java默认有几个线程? 2 个 mian.GC Java 真的可以开启线程吗? 开不了,点击源码得知:本 ...

  10. 【JDK源码】java.lang包常用类详解

    接下来的几天开始JDK源码的学习和总结,之前看<java编程思想>的时候看到java的基础知识有很多,其中支撑着这些基础的基础中的基础当属JDK.JDK的基础代码里面又分了很多基础的模块, ...

最新文章

  1. 基于ZooKeeper的Hadoop HA集群搭建
  2. Android APP性能优化
  3. iReport中求和的问题
  4. .Net Core中间件和过滤器实现错误日志记录
  5. django 模型类的常见字段约束,以及filter 过滤和查询
  6. Linux报文硬件时间戳,linux下修改时间戳
  7. jggrid 设置了自适应宽度仍然有滚动条的问题
  8. lnmp 查看mysql版本_MySQL数据库之Lnmp环境中php-mysql版本问题
  9. js实现动态数字时钟
  10. AP计算机科学内容HTML,3分钟读懂AP计算机科学原理和计算机科学A的区别!
  11. oracle切换实例启动,3.1 Oracle体系结构之实例启动与关闭
  12. excel自动排班表_18个施工进度计划横道图,Excel版自动生成表,操作简单明了
  13. 跨境电商无货源自发货铺货ERP店群管理软件
  14. SaaS的收入模型有哪些?终于有人讲明白了
  15. H3C-云计算技术专题培训(分享七)
  16. [来自iPc.me] 技术文,绝对是牛叉的技术文!把妹高手谈如何跟刚搭讪
  17. Win32 游戏开发:贪吃蛇 上篇
  18. windows下域名解析及修改hosts文件不起作用的问题解决
  19. TCP窗口管理之发送窗口
  20. 2020年3月24日360笔试题目

热门文章

  1. 求圆周长,圆面积,圆球表面积、圆球体积,圆柱体积
  2. [html + css] SVG动画 发光渐变炫彩猫猫头
  3. 中标麒麟yum源地址
  4. 你有梦想吗?华为云学院助你实现梦想
  5. 把文字图片转换成文本文字
  6. Docker-Toolbox常见问题解决方案
  7. 征途LINUX服务端脚本,征途【改版教程】-版本内脚本文件-转载于-喜欢玩网游单机站...
  8. 随机过程(1.2)—— 数学期望与条件期望
  9. 只有mdf文件恢复数据库
  10. 【题目精刷】2022诺瓦-数字IC设计