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方法,可以用来判断两个对象的内容是否相等

public class A
{
public static void main(String [] args)
{ //s1 s2 存放在堆区
String s1 = new String ("china");
String s2 = new String ("china");
System.out.println(s1.equals(s2));//true
System.out.println(s1 ==s2 );//false //s3 s4的china存放在数据区
String s3 = "china";
String s4 = "china";
System.out.println(s3.equals(s4));//true
System.out.println(s3 ==s4 ); //true
}
}

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结尾的字符串

public class A
{
public static void main(String [] args)
{
String s1 = "zmzb",s2 = "ZMZB";
System.out.println(s1.charAt(1));//m
System.out.println(s1.length());//
System.out.println(s1.indexOf('m'));//1,z下标是0
System.out.println(s1.indexOf('s'));//-1
System.out.println(s1.equals(s2));//false
System.out.println(s1.equalsIgnoreCase(s2));//true String sr = "狂人日记";
String ssr = sr.replace('日','周');
System.out.println(ssr);//狂人周记
} }

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对象引用

public class A
{
public static void main(String [] args)
{
StringBuffer sb = new StringBuffer();
sb.append("abc");
sb.append("123");
System.out.println(sb);//abc123
sb.insert(3,"--");//在下标为3的位置插入
System.out.println(sb);//abc--123
sb.delete(2,6);
System.out.println(sb);//ab23
sb.reverse();//逆序
String str = sb.toString();//32ba
System.out.println(str);//32ba
}
}

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. WPscan扫描工具安装使用

    WPScan是Kali Linux默认自带的一款漏洞扫描工具,它采用Ruby编写,能够扫描WordPress网站中的多种安全漏洞,其中包括WordPress本身的漏洞.插件漏洞和主题漏洞.最新版本WP ...

  2. jsTree获取选中节点和选中指定节点

    jstree获取当前选中的checkbox和获取选中节点的所有节点 首先初始化一个带有复选框的 jstree $('#demo_tree').jstree({ "core" : { ...

  3. Springmvc-crud-03(静态资源错误)

    错误描述:静态资源加载失败 原因:spring会拦截静态资源 解决办法: <!-- 配置spring支持静态资源请求 --> <mvc:default-servlet-handler ...

  4. opencv:图形绘制与填充

    #include <opencv2/opencv.hpp> #include <iostream> using namespace cv; using namespace st ...

  5. 获取浏览器url参数

    //获取浏览器url参数 var methods ={ getQueryString: function (name) { var reg = new RegExp('(^|&)' + nam ...

  6. 分享Linux系统快速入门法

    相信看到这篇文章的你一定是想要学习Linux,或者已经在学习Linux的人了,那我们就可以一起探讨一下,学习Linux如何快速入门呢? 首先,希望大家弄清楚自己为什么要学习Linux,有的人是因为兴趣 ...

  7. java 面试题 mybatis 篇

    1. 一级缓存和二级缓存? 一级缓存策略: 二级缓存策略: 2. 缓存回收策略 LRU –  最近最少使用的:移除最长时间不被使用的对象. FIFO –  先进先出:按对象进入缓存的顺序来移除它们. ...

  8. 【CSS选择器】

    " 目录 一.介绍 二.语法 三.引入方式 1. 行内样式 2. 嵌入式 3. 外部样式 四.选择器 1. 基本选择器 2. 组合选择器 3. 属性选择器 4. 不常用选择器 5. 分组和嵌 ...

  9. iOS开发常用Mac终端命令

    常用命令: 1.grep -lr "prefs:root=" * cd 当某一文件夹下,在当前文件目录下搜索对应的内容(橘色字符串替换为你想要搜索的内容).可以用来搜索工程中在第三 ...

  10. Python jupuyter 的安装与使用(windows下)

    1.win+R  cmd 打开命令窗 2.pip install jupyter pip安装jupyter 3.安装好后 执行jupyter的启动命令: jupyter notebook --ip=0 ...