String类

String类常用方法:

①length():

length()       长度    方法**

对比:数组.length      属性**

一般情况下,一个数字,一个字母,一个汉字都是一个字符,只是所占字节属不同,一般一个汉字占2个字符,字母,数字占一个字符;不同编码字符所占字节数不同,这里的String类中length长度代表字符数,不是字节;

②equals()

判断字符串的内容是否相等

重写后的equals()方法比较原理:

输入时忽略大小写方法:

equalsIgnoreCase():忽略大小写的比较字符串内容

toLowerCase():转换为小写(返回值是String类型)

toUpperCase():转换为大写(返回值是String类型)

③equals()与==的区别

一开始,equals()与==作用一样:

比较两个字符串内存地址是否一致,是否为同一对象

后来,String类对equals()方法进行了重写,equals()变成了比较两个字符串的内容是否相等了

分析:(1)当String s1=”java”;时,java是放在字符串池中,当String s2 =”java”;时,字符串池中已存在java对象,不再创建,s2直接指向字符串池中对象,所以s1和s2是创建了一个对象(池中对象可以被共享);

(2)如果String s3=new  String(”java”);字符创中已有java对象,则不再在字符串池中创建java对象,此时只在堆中new创建一个java对象(每new一次,都在堆中创建一个对象,且变量引用指向堆中对象)

(3)当String s3=new  String(”JAVA”);时,先在字符串池中创建JAVA对象,又在堆中new创建一个对象,实际上一句代码创建了俩个对象,但是s3指向堆中的对象;

创建了几个字符串对象? 常见的面试问题****

④字符串连接

① “+”号:只要“+”号两端中一段有字符串,整体就是字符串,加号起拼接作用,String a="ab"+"cd",类似于:String a = "abcd";

② concat()

注意:*********

字符串是常量;它们的值在创建之后不能更改。

字符串方法操作的(产生变化的方法:变大写、小写、连接、截取......)变化都作用于字符串的副本,而不是本身

⑤字符串常用的提取方法

String字符串下标从0开始计算,空格也算一个字符

indexOf():第一次出现

lastIndexOf():最后一次出现

如果找不到,返回-1

substring():

substring(int start):从start(包含)开始截取,截取到字符串的末尾

substring(int start,int end):从start(包含)开始截取,截取到end(不包含)位置为止

(6)split():对字符串进行拆分  ----返回值:String[]

注意:以上只是一些常用方法,具体方法,请参考Java API

String类的一些常规方法的更多相关文章

  1. 标准库String类

    下面的程序并没有把String类的所有成员方法实现,只参考教程写了大部分重要的成员函数. [cpp] view plain copy #include<iostream> #include ...

  2. 自己实现简单的string类

    1.前言 最近看了下<C++Primer>,觉得受益匪浅.不过纸上得来终觉浅,觉知此事须躬行.今天看了类类型,书中简单实现了String类,自己以前也学过C++,不过说来惭愧,以前都是用C ...

  3. C++ string类的实现

    c++中string类的实现 今天面试被考到了, 全给忘记了!!!   //string类的实现 #include <iostream> #include <string.h> ...

  4. String类的功能

    String类              标红的为较少出现的 1.判断功能 boolean equals(Object obj) :比较字符串内容是否相同,区分大小写 boolean equalsIg ...

  5. java基础复习:final,static,以及String类

    2.final 1)为啥String是final修饰的呢? 自己答: 答案: 主要是为了“效率” 和 “安全性” 的缘故.若 String允许被继承, 由于它的高度被使用率, 可能会降低程序的性能,所 ...

  6. String类和StringBuffer类的区别

    首先,String和StringBuffer主要有2个区别: (1)String类对象为不可变对象,一旦你修改了String对象的值,隐性重新创建了一个新的对象,释放原String对象,StringB ...

  7. 05_整理String类的Length()、charAt()、 getChars()、replace()、 toUpperCase()、 toLowerCase()、trim()、toCharArray()使用说明

    Question: 整理String类的Length().charAt(). getChars().replace(). toUpperCase(). toLowerCase().trim().toC ...

  8. 标准C++中的string类的用法总结

    标准C++中的string类的用法总结 相信使用过MFC编程的朋友对CString这个类的印象应该非常深刻吧?的确,MFC中的CString类使用起来真的非常的方便好用.但是如果离开了MFC框架,还有 ...

  9. String类常用方法

    1.String类的特点,字符串一旦被初始化就不会被改变. 2.String对象定义的两种方式 ①String s = "affdf";这种定义方式是在字符串常量池中创建一个Str ...

随机推荐

  1. 【Java Web】入门资源整理

    [网站] 1.Java Web Application Tutorial for Beginners - JournalDev Google top1 除Java Web还有很多其他教程 2.Intr ...

  2. rest_framework解析器组件源码流程

    rest_framework解析器组件源码流程 解析器顾名思义就是对请求体进行解析.为什么要有解析器?原因很简单,当后台和前端进行交互的时候数据类型不一定都是表单数据或者json,当然也有其他类型的数 ...

  3. 编写Tesseract的Python扩展

    Tesseract是一个开源的OCR(光学字符识别)引擎,用于识别并输出图片中的文字.虽然和商业软件比起来识别精度不算很高,但是如果你要寻找免费开源的OCR引擎,可能Tesseract就是唯一的选择了 ...

  4. html4与html5的区别

    一.HTML5更加灵活,支持下列多种形式 1.标签名可以大写(不推荐) -<SpAN>这个HTML5也的认</SpAN> 2.属性双引号可选(推荐添加双引号) -<div ...

  5. 非法字符: '\ufeff' 解决方案|错误: 需要class, interface或enum

    解决方案,把文件用Editplus打开,UTF-8+BOM编码的文件转为普通的UTF-8文件

  6. [算法] 将单链表的每K个节点之间逆序

    题目 给定一个单链表的头结点,实现一个调整单链表的函数,使得每K个节点之间逆序,如果最后不够K个节点一组,则不调整最后几个节点. 解答 使用栈结构 import java.util.Stack; pu ...

  7. 使用axis2构建webservice

    axis2是可以实现webservice的一个插件,使用这个插件可以发布webservice 1:可以使用这个插件来发布webservice,可以看网址:http://clq9761.iteye.co ...

  8. share point 2013 部署

    最近工作需要,需要用share point 2013 开发项目,但是遇到了刚部署环境就遇到了不少问题.唉~ 本机部署搭建一个share point 2013 环境. 第一步:首先要下载一个vmware ...

  9. java-四则运算-四

    题目要求:查找数组连成环形的和最大的连续子数组 实验代码: package zuoYe; import java.util.Scanner; public class MaxSubArray { pu ...

  10. Android 必须知道2018年流行的框架库及开发语言,看这一篇就够了!

    导语 2017 已经悄悄的走了,2018 也已经匆匆的来了,我们在总结过去的同时,也要展望一下未来,来规划一下今年要学哪些新技术.这几年优秀Android的开源库不断推出,新技术层出不穷,需要我们不断 ...