Java常用API(String类)
Java常用API(String类)
概述:
String s1 = "abc";
s1 += "d";
System.out.println(s1);
// "abcd"
// 内存中有"abc","abcd"两个对象,s1从指向"abc",改变指向,指向了"abcd"。
这里我们就通过一个内存图来更好的向大家解释
首先我们来写一段简单的代码,然后画出该代码的内存图来帮助大家理解
public class Test {
public static void main(String[] args) {
String str1="123";
String str2="123";
String str3=new String("123");
System.out.println(str1==str2);//true
System.out.println(str1==str3);//false
System.out.println(str2==str3);//false
}
}
首先我给大家引入一个字符串常量池的概念
什么是字符串常量池呢,如上图
String str1=="123"
String str2=="123"
这样子命名的字符串的值就会被存入字符串常量池,而String str3=new String("123")这样new 出来的则不会
顾str1==str3的值为false,而str1==str2的结果则为true,下面通过一张图带大家更加深刻的去理解
当使用String str1="XXXXX"格式命名的时候,会先去字符串常量池中找,如果没有再创建,这样极大的
减小了内存的浪费

下面我来介绍几个String类的常用方法
1判断字符串内容是否相等的方法
public boolead equals(Object anObject)
2忽略大小写判断字符串内容是否相同的方法
public class Test {
public static void main(String[] args) {
String str1="abc";
String str2="abc";
String str3="ABC";
System.out.println(str1.equals(str2));//true
System.out.println(str1.equals(str3));//false
System.out.println(str1.equalsIgnoreCase(str3));
}
}
获取功能的方法
public int length() 返回字符串长度
public String concat (String string) 将指定字符串连接到该字符串末尾
public char charat(int index) 返回指定索引处的char值
public int indexOf(String str) 返回指定字符串第一次出现的地方
public String substring (int beginIndex) 剪取字符串,字符串的范围为从begin到末尾
package cn.itcast;
public class Test {
public static void main(String[] args) {
String str1="abc";
String str2="abc";
System.out.println("字符串长度是:"+str1.length());
String concat = str1.concat(str2);
System.out.println("连接后的字符串:"+concat);
System.out.println("第一个字母:"+str1.charAt(0));
System.out.println("b第一次出现地方的索引:"+str1.indexOf("b"));
String substring = str1.substring(1);
System.out.println("截取后的字符串:"+substring);
}
}
结果

转换功能的方法
public char[] toCharArray() 将字符串转换为数组
public byte[] getbytes() 将字符串转换为新的字节数组
public String replace(CharSequence target,CharSequence replace) 替换字符串中的指定字符
public class Test {
public static void main(String[] args) {
String str1="abc";
char[] chars = str1.toCharArray();
byte[] bytes = str1.getBytes();
System.out.println("转换为数组:");
for (int i = 0; i < chars.length; i++) {
System.out.print(chars[i]+",");
}
System.out.println();
System.out.println("转换为字节数组:");
for (int i = 0; i < bytes.length; i++) {
System.out.print(bytes[i]+",");
}
System.out.println();
String replace = str1.replace("a", "A");
System.out.println("替换后的字符串:"+replace);
}
}
结果

分割方法
public String[] split(String regex)将字符串按照指定的分隔符分隔成数组
package cn.itcast;
import com.alibaba.druid.sql.visitor.SQLASTOutputVisitorUtils;
public class Test {
public static void main(String[] args) {
String str1="aa,bb,cc";
String[] split = str1.split(",");
System.out.println("以逗号分隔:");
for (int i = 0; i < split.length; i++) {
System.out.println(split[i]);
}
}
}
结果

以上就是有关字符串的一些基本知识,如果有错误还请各位批评指正
Java常用API(String类)的更多相关文章
- Java常用API(Math类)
Java常用API(Math类) Math类的作用 java.lang.Math 类包含用于执行基本数学运算的方法,如初等指数.对数.平方根和三角函数.类似这样的工具 类,其所有方法均为静态方法,并且 ...
- Java常用API(Arrays类)
Java常用API(Arrays类) 什么是Arrays类? java.util.Arrays 此类包含用来操作数组的各种方法,比如排序和搜索等.其所有方法均为静态方法,调用起来 非常简单. 这里我们 ...
- Java常用API(ArrayList类)
Java常用API(ArrayList类) 我们为什么要使用ArrayList类? 为了更加方便的储存对象,因为使用普通的数组来存储对象太过麻烦了,因为数组的一个很大的弱点就是长度从一开始就固定了,所 ...
- Java常用API(Random类)
Java常用API(Random类) Random:是一个用于生成随机数的类 构造方法 public Random() :创建一个新的随机数生成器. 返回随机数的方法 public int nextI ...
- Java常用API(Scanner类)
Java常用API( Scanner类)1 1.Scanner类 首先给大家介绍一下什么是JavaAPI API(Application Programming Interface),应用程序编程接口 ...
- Java常用API——String字符串运算
一.字符串运算 String类 1.概述 String是特殊的引用数据类型,它是final类. 2.构造方法 String str = "abc"; 相当于: char date ...
- Java 常用对象-String类
2017-11-02 20:02:06 String:代表字符串.Java 程序中的所有字符串字面值(如 "abc" )都作为此类的实例实现. 字符串是常量:它们的值在创建之后不能 ...
- Java常用API——时间类
前言:Java.util.*工具包中,包含了集合框架,旧集合类,事件模型,日期和时间设施,国际化和其他使用程序类 (字符串.随机数生成器和位数组) 一.日期类Date 1.概述 Date是一个薄包装类 ...
- Java 常用API(二)
目录 Java 常用API(二) 1. Object类 2. Date类 概述 构造方法和成员方法 3. DateFormat类 概述 SimpleDateFormat类 练习 4. Calendar ...
随机推荐
- 利用requets库采集蘑菇租房网的租房信息
前言:对于我们任何一个漂泊在外的打工者,租房似乎都是我们必经的一个经历,对于我们而言,选择性价比最高,最适合自己的房源至关重要,本文就将利用爬虫技术采集蘑菇租房网上指定的房源信息,后续可以利用这些信息 ...
- 有关 HashMap 面试会问的一切
前言 HashMap 是无论在工作还是面试中都非常常见常考的数据结构. 比如 Leetcode 第一题 Two Sum 的某种变种的最优解就是需要用到 HashMap 的,高频考题 LRU Cache ...
- 容器技术之Docker-swarm
前文我聊到了docker machine的简单使用和基本原理的说明,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/13160915.html:今天我们来聊一聊d ...
- 微信小程序for循环遍历
wxml: <block wx:for="{{data}}" wx:for-item="data"> & ...
- JavaScript基础正则表达式的字面声明(012)
不出所料,正则表达式也是JavaScript的一种对象.构造正则表达式也有两种,一种是使用JavaScript内置的 new RegExp() 构造函数,另一种是我们推荐的字面声明方式: // reg ...
- Java中栈和堆讲解
之前对JVM中堆内存和栈内存都是一直半解,今天有空就好好整理一下,用作学习笔记. 包括Java程序在内,任何程序在运行时都是要开辟内存空间的.JVM运行时在内存中开辟一片内存区域,启动时在自己的内存区 ...
- day05数据绑定
流程:普通编辑-添加编辑模式 <text>数据绑定</text> <view>{{message}}</view> <button bindtap ...
- vue安装及创建项目的几种方式
原文地址:https://www.wjcms.net/archives/vue安装及创建项目的几种方式 VUE安装的方式 直接用 script标签 引入 对于制作原型或学习,你可以这样使用最新版本: ...
- Python 之父说 Python 历史
前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者:鸿影洲冷 这篇文章主要内容来源于 Python 编程语言的最初设计者 ...
- idea 快速生成返回值快捷方式
idea java快速生成返回值 ctrl+alt+V