1.toString所有的类都默认自动继承了Objiect类

2.Object类中的toString方法返回的时类的名字和该哈希表码组成的一个字符串,

System.out.println(类对象名)实际输出的是该对象的toString方法所返回的字符串

3.所有类都从Object类继承了equals方法,源码如下

public boolean equals(Object obj)

{  return this == obj;}

4.object中的equals方法是直接判断调用equals的对象和形参obj所引用的对象是否为同一对象,即是否是内存中同一块存储单元,如果this和obj指向同一块内存对象,返回true,否则返回false,即使是内容完全相等的两块不同的内存对象,也会返回false

5.如果希望不同内存但相同内容的两个对象equals时返回true,则我们需要重写父类的equals方法

6.string类已经重写了object中的equals方法,可以用来判断两个对象的内容是否相等

  1. public class A
  2. {
  3. public static void main(String [] args)
  4. { //s1 s2 存放在堆区
  5. String s1 = new String ("china");
  6. String s2 = new String ("china");
  7. System.out.println(s1.equals(s2));//true
  8. System.out.println(s1 ==s2 );//false
  9.  
  10. //s3 s4的china存放在数据区
  11. String s3 = "china";
  12. String s4 = "china";
  13. System.out.println(s3.equals(s4));//true
  14. System.out.println(s3 ==s4 ); //true
  15. }
  16. }

7,String常用方法总结

1.public char charAt (int index)

返回字符串中第index字符

2.public int length()

返回字符串的长度

3.public int indexOf (String str)

返回字符串中出现str的第一个位置

4.public int indexOf (String str , int fromIndex)

返回字符串中从fromIndex从from开始出现str的第一个位置

5.public boolean equalsIgnoreCase (String another)

比较字符串与another 是否一样(忽略大小写)

6.public String replace(char oldChar , char newChar)

在字符串中用new字符串 替代old字符串

7.public boolean startsWith (String prefix)

判断字符串是否已prefix字符串开头

8.public boolean endsWith(String suffix)

判断是否以suffix结尾

9.public String toUpperCase()

返回一个字符串的大写形式

10.ublic String toLowerCase()

返回一个字符串的小写形式

11.public String substring( int beginIndex , int endIndex)

返回该字符串从begin开始到end结尾的字符串

  1. public class A
  2. {
  3. public static void main(String [] args)
  4. {
  5. String s1 = "zmzb",s2 = "ZMZB";
  6. System.out.println(s1.charAt(1));//m
  7. System.out.println(s1.length());//
  8. System.out.println(s1.indexOf('m'));//1,z下标是0
  9. System.out.println(s1.indexOf('s'));//-1
  10. System.out.println(s1.equals(s2));//false
  11. System.out.println(s1.equalsIgnoreCase(s2));//true
  12.  
  13. String sr = "狂人日记";
  14. String ssr = sr.replace('日','周');
  15. System.out.println(ssr);//狂人周记
  16. }
  17.  
  18. }

8.StringBuffer类

由来:string类对象一旦创建就不可更改,如果经常对字符串内容进行修改,则使用string buffer,否则既耗时间又耗空间

string类中没有修改字符串的方法,但是stringbuffer类中大量拥有

9.string buffer类的构造函数

public StringBuffer()

创建一个空的没有任何字符的StringBuffer对象

public StringBuffer(int capacity)

创建一个不带字符,但具有指定出生容量的字符串缓冲区

public StringBuffer(String str)

创建一个StringBuffer对象,包含与str对象相同的字符序列

10.常用方法

public StringBuffer delete(int start ,int end)

删除从start开始到end-1为止的一段字符序列,返回修改后的该StringBuffer对象引用

  1. public class A
  2. {
  3. public static void main(String [] args)
  4. {
  5. StringBuffer sb = new StringBuffer();
  6. sb.append("abc");
  7. sb.append("123");
  8. System.out.println(sb);//abc123
  9. sb.insert(3,"--");//在下标为3的位置插入
  10. System.out.println(sb);//abc--123
  11. sb.delete(2,6);
  12. System.out.println(sb);//ab23
  13. sb.reverse();//逆序
  14. String str = sb.toString();//32ba
  15. System.out.println(str);//32ba
  16. }
  17. }

Java记录4--string的更多相关文章

  1. 深入理解Java中的String

    一.String类 想要了解一个类,最好的办法就是看这个类的实现源代码,来看一下String类的源码: public final class String implements java.io.Ser ...

  2. 【原创】Java编译器对String的优化

    首先看以下的代码: public static void main(String[] arge) { String str1 = new String("1234"); Strin ...

  3. 再解java中的String

    今天看到一篇文章中,写了关于java中的String.我看了后,是我从学java来觉得是最好的一篇关于String类的文章.看了这篇文章你就会对String的认识会提高一个层次.故将原作者的文章特意转 ...

  4. (转)Java中的String为什么是不可变的

    转自:http://www.importnew.com/7440.html String是所有语言中最常用的一个类.我们知道在Java中,String是不可变的.final的.Java在运行时也保存了 ...

  5. 关于JAVA中的String的使用与连接(转)

    JAVA中的String连接性能 Java中的String是一个非常特殊的类,使它特殊的一个主要原因是:String是不可变的(immutable).           String的不可变性是Ja ...

  6. Java常量字符串String理解

    Java常量字符串String理解 以前关于String的理解仅限于三点:1.String 是final类,不可继承2.String 类比较字符串相等时时不能用“ == ”,只能用  "eq ...

  7. Java中的String为什么是不可变的?

    转载:http://blog.csdn.net/zhangjg_blog/article/details/18319521 什么是不可变对象? 众所周知, 在Java中, String类是不可变的.那 ...

  8. Java中的String与常量池[转帖]

    string是java中的字符串.String类是不可变的,对String类的任何改变,都是返回一个新的String类对象.下面介绍java中的String与常量池. 1. 首先String不属于8种 ...

  9. Java中的String与常量池

    string是java中的字符串.String类是不可变的,对String类的任何改变,都是返回一个新的String类对象.下面介绍java中的String与常量池. 1. 首先String不属于8种 ...

  10. java中字符串String 转 int(转)

    java中字符串String 转 int String -> int s="12345"; int i; 第一种方法:i=Integer.parseInt(s); 第二种方法 ...

随机推荐

  1. Analog power pin UPF defination

    在一个analog macro端口上,有些pin是always on的,有些是shut down的,如何描述这些pin的power属性?这是一个常见问题,驴就此机会大致描述一下常见的做法.对于这个问题 ...

  2. 线上BUG定位神器(阿尔萨斯)-Arthas2019-0801

    1.下载这个jar 2.运行这个jar 3.选取你需要定位的问题应用进程 然后各种trace -j xx.xxx.xx.className methodName top -n 3 这个后面要补充去看, ...

  3. 题解 CF492C Vanya and Exams

    CF492C Vanya and Exams 有了Pascal题解,来一波C++题解呀qwq.. 简单的贪心题 按b[i]从小到大排序,一个一个学科写直到达到要求即可 #include<cstd ...

  4. Azure IoT Hub 十分钟入门系列 (1)- 10分钟带你了解Azure IoT Hub 并创建IoT Hub

    建议您先对<Azure 上 IoT 整体解决方案概览 >进行了解. 本文主要分享一个案例: 10分钟-了解Azure IoT Hub并创建Azure IoT Hub 本文主要有如下内容: ...

  5. Dart语言学习(三)Dart数值型

    一.类型 数值型有 num,int, double  num a = ; a = 12.5; print(a); print(a.runtimeType); ; // b = 20.5; print( ...

  6. (原创)Windows下编译的Shell脚本不能再Linux中运行的解决办法

    一.原理 Windows编译的文件和Linux编译的文件格式不太一样,导致在Linux运行Shell脚本的时候会提示:/bin/bash^M: bad interpreter: 没有那个文件或目录. ...

  7. Linux-VMware 15 虚拟机黑屏问题

    VMware 15 虚拟机黑屏问题   最近终于舍弃win7,换了win10的操作系统...   VM12不兼容,各种问题频出,于是换了VM15. 新装了kali2019.03,结果刚装好不久,在某一 ...

  8. NIO的理解

    一.缓冲区(Buffer):在java NIO中负责数据的存取,实际上就是数组,用于存储不用数据类型的数据,根据数据类型不同(boolean除外),提供了相应类型的缓冲区(ByteBuffer,Cha ...

  9. WLC license管理

    关于控制器的license,可以参考对应平台的Datasheet: Cisco 2504 WLC Cisco 3504 WLC Cisco 5508 WLC Cisco 5520 WLC Cisco ...

  10. leetcode 697

    Given a non-empty array of non-negative integers nums, the degree of this array is defined as the ma ...