String类时lang包的内置类,使用时不需要引用。

一、构造器

String():通过new方法创建字符串

String(byte[] byte):把字节数字转换为字符串

异同比较:

String str="abc";

String str1=new String("abc");

str 与str1有什么异同。

首先,str==str1,是否成立。不成立。

其次,str.equals(str1),是否成立。成立。

为什么?

因为String类的equals()方法比较的是值是否相等,很明显,str与str1的值相等。

为什么str==str1不成立呢。因为String str="abc" 与 String str1=new String("abc")两种创建String类对象的底层方法是不同的。先说String str="abc" 这种创建String类对象的方法。此种方法创建对象,首先在常量池中搜索是否有“abc”字符串,如果有,则把该字符串的地址返回给栈。如果没有则创建一个"abc"字符串,然后把地址返回给栈引用。

而new String()方法,首先在堆中创建一个对象,然后再去搜索常量池中是否有“abc”字符串,如果有,则把该字符串的地址返回给堆中的对象。如果没有则创建一个"abc"字符串,然后把地址返回给堆中的对象。此时栈保存的堆中对象的地址。

很明显,new String()方法创建的对象地址是堆中的地址,而另一种方法对象的地址是常量池中地址。很明显,两个地址是不同的。

另外,String str="abc"创建一个对象,而String str1=new String("abc")有可能创建了两个对象(在堆中创建了一个对象,如果常量池中没有“abc”字符串,还需要在常量池中创建一个对象)。

二、常用方法

int length():活动字符串的长度,注意与获得数组长度的区别,获得数组长度不需要括号

char charAt(int index):获得指定索引的字符

int codePointAt(int index):获得指定索引的字符的ASCII码

int compareTo(String anotherstring):与另外一个字符串比较,如果<0,说明在被比较字符串之前;=0,则相等;>0,说明在被比较字符串之后。

int compareToIgnoreCase(String anotherstring):比较时不区分大小写

boolean startsWith():是否以某个子字符串开始

boolean endtsWith():是否以某个子字符串介绍

s.trim():去掉s字符串前后的空格,并返回一个新字符串

boolean s.equals():比较两个字符串的值是否相等;

int indexOf(int ch):返回指定字符的第一个索引。需要注意的是,可以用字符,也可以同字符的ASCII码

eg.

String str="hello world";

int int1=str.indexOf("h");

//int int2=str.indexOf(0);这两种写法是等价的

int indexOf(int ch,int fromindex):从某个索引开始检索,然后返回指定字符的索引。注意包含fromindex索引。

int indexOf(String str):返回指定子字符串的第一个索引。

int indexOf(String str,int fromindex):从某个索引开始检索,然后返回指定子字符串的索引。

String substring(int beginindex,int endindex):返回从beginindex(含)到endindex(不含)的子字符串。

String replace(char oldchar ,char newchar):把字符串中的所有oldchar换成newchar并返回一个新字符串

String replace(charsequnce target,charsequence replacement):将字符串中的所有target换成replacement并返回一个新字符串

static String  valueOf(boolean a):将一个布尔值转化为字符串形式,静态方法。由于是静态方法,使用该方法是需要类调用。如:String .valueOf(b)

static String valueOf(char a):返回字符a的字符串形式

转载于:https://www.cnblogs.com/hitnmg/p/9233025.html

String类及其构造器和常用方法相关推荐

  1. [Java]String类基础知识与常用方法总结

    这篇文章用于记录个人学习过程中Java中String类的一些基础知识和方法.主要记录了String类的特性.常用方法,以及和基本数据类型.包装类互转方面的内容. 源码部分 我们先简易看下Java13中 ...

  2. java中的string类和ArrayList常用方法

    Java中String类和ArrayList集合常用方法 String类常用方法 获取字符串的长度 方法很简单,很多数组都是使用这个方法来遍历数组中的元素,直接上代码: //获取字符串的长度 publ ...

  3. String类中的面试常考点

    String类 常用方法介绍 String类是Java最常用的API,它包含了大量处理字符串的方法,比较常用的有: char charAt(int index):返回指定索引处的字符: String ...

  4. Java的java.lang.String类详解

    String类详解 String(字符串常量)概述 在API中是这样描述: String 类代表字符串.Java 程序中的所有字符串字面值(如 "abc" )都作为此类的实例实现. ...

  5. Java基础之String类(第六天)

    1.String类概述 API (Application Programming Interface,应用程序编程接口)1.Java写好的技术(功能代码),咱们可以直接调用.2.Oracle也为Jav ...

  6. Java String类Api文档

    String类APi文档 常用方法概述 比较相关 返回值类型 方法名 描述 boolean contentEquals() 将此字符串与指定的 StringBuffer 比较. boolean end ...

  7. c++ string replace_Java——String类的常用方法总结

    点击上方"IT咸鱼",星标公众号重磅干货,第一时间送达 一.String类String类在java.lang包中,java使用String类创建一个字符串变量,字符串变量属于对象. ...

  8. java string类的方法_Java-String类的常用方法总结

    一.String类 String类在java.lang包中,java使用String类创建一个字符串变量,字符串变量属于对象.java把String类声明的final类,不能有类.String类对象创 ...

  9. arduino char*转string_Java 中 String 类的常用方法汇总

    一.String 类的概念以及特性 1.String 类的概念 String 类代表字符串,在 java.lang 包中.字符串是常量 ,用双引号引起来表示. 它的值在创建之后不能更改 .由 0 或多 ...

最新文章

  1. hadoop学习笔记:运行wordcount对文件字符串进行统计案例
  2. python--socket套接字/TCP
  3. geant4运行例子_Geant4--一次编译,运行多个Run,极大提升模拟效率
  4. Android 带着用户名的SharedPreferences
  5. 关于如何修改ISA server 防火墙并行最大TCP连接数问题和优化ISA 服务器淹没缓解设置
  6. struts2 resultType为chain时 传值
  7. android debug bridge tools_飞凌干货丨Android 应用程序如何获取system权限
  8. 如何在 macOS Monterey 中更改光标的颜色样式?
  9. String a = new String(“abc“); 到底创建了几个对象
  10. OD调试4----去除NAG窗口的几种方法
  11. 计算机中英文打字文章,中英文打字练习文章优美范文
  12. word文档图片画红线_Word文档怎么在图片内画线?
  13. 浏览器播放视频时蓝牙耳机自动关机
  14. DBLE分库分表示例
  15. 农村小伙从月薪2000多到年薪几十万,我的这条路大多数搬砖人都能走 ǃ
  16. vmware安装或卸载时,显示无法打开注册表项
  17. 关于微软虚拟机更新后密码问题
  18. 篮球架子 与 足球门
  19. 前端全栈工程师进阶学习笔记
  20. bing词典案例分析

热门文章

  1. 中国语言文学专业c刊排行榜,中国有名的文学刊物有哪些 十大中国著名文学刊物盘点...
  2. java操作mongodb_Java操作MongoDB
  3. php pdf 加密 签名 时间戳,在现有PDF签名上添加签名时间戳
  4. linux挂载硬盘 只读,mount: /dev/vdb 写保护,将以只读方式挂载
  5. vue 生产word_nodejs(officegen)+vue(axios)在客户端导出word文档
  6. 【阿里云OSS】OSS概述
  7. js模块化:require、import和export
  8. js控制 html.textboxfor,javascript - Html.TextBoxFor regex is not working - Stack Overflow
  9. 农村信用社计算机基础知识,2014年云南省农村信用社考试计算机基础知识练习题...
  10. htc m8 wp android,区别仅系统?WP/Android两版HTC One M8对比