Java 常用类String类、StringBuffer类
常用类
String类、StringBuffer类
- String代表不可变的字符序列
- "xxxxxxx"为该类的对象
举例(1)
public class Test
{
public static void main (String[] args)
{
//测试1
String s1 = "hello";
String s2 = "world";
String s3 = "hello";
System.out.println(s1 == s3);//true
//测试2
s1 = new String ("hello");
s2 = new String ("hello");
System.out.println(s1 == s2);//false
System.out.println(s1.equals(s2));//true
//测试3
char c[] = {'s','u','n',' ','j','a','v','a'};
String s4 = new String(c);
String s5 = new String(c,4,4);
System.out.println(s4); //sun java
System.out.println(s5); //java
}
}
- 测试1
s1为String类型的引用,它指向一个字符串常量,而字符串常量存放于data segment。给s3赋值为"hello"时,Java编译器会自动的在data segment中找会不会有重复的数据,如果重复的话就不会新增一个,所以s3指向原来的"hello"。
- 测试2
new出来的对象存放于堆空间,s1、s2两个引用指向不同的对象(堆空间不会自动检查的),所以s1不等于s2。
equals()已经被重写,所以为true。
- 测试3
String类中的两个方法
- String(char[] c):把c数组中的字符组成字符串返回。
- String(char[] c,int i,int j):把c数组中从第i个字符开始往后j个字符组成字符串返回。
举例(2)
public class Test
{
public static void main (String[] args)
{
String s1 = "sun java";
String s2 = "Sun Java";
System.out.println(s1.charAt(1));//u
System.out.println(s2.length());//8
System.out.println(s1.indexOf("java"));//4
System.out.println(s1.indexOf("Java"));//-1
System.out.println(s1.equals(s2));//false
System.out.println(s1.equalsIgnoreCaes(s2));//true
String s = "我是程序员";
String sr = s.replace('我','你');
System.out.println(sr);//你是程序员
}
}
- 说明
- s1.charAt(int i):返回字符串s1中第i个字符。
- s2.length():返回字符串长度。
- s1.indexOf(String s):返回s在s1(字符串)中的起始位置,如果找不到则返回-1。
- s1.equalsIgnoreCaes(String s):判断s和s1忽略大小写是否相等。
- s.replace(char c1,char c2):把s中的c1全部替换成c2。
举例(3)
public class Test
{
public static void main (String[] args)
{
String s = "Welcome to Java World";
String s1 = " sun java ";
System.out.println(s.starstWith("Welcome"));//true
System.out.println(s.endsWith("World"));//false
String sL = s.toLowerCase();
String sU = s.toUpperCase();
System.out.println(sL);//welcome to java world
System.out.println(sU);//WELCOME TO JAVA WORLD
String subS = s.substring(11);
System.out.println(subS);//Java World
String sp = s1.trim();
System.out.println(sp);//sum java
}
}
- 说明
- s.substring(int i):把字符串从第i个字符截断,返回后半段。
- s1.trim():去掉字符串前后的空格,但是中间的不管。
Java 常用类String类、StringBuffer类的更多相关文章
- 浅谈java中的String、StringBuffer、StringBuilder类的区别以及关系
在java中最常见的使用就是对字符串的操作:首先先说一下对字符串的理解:字符串就是一连串字符序列,Java提供了String和StringBuffer两个类来封装字符串,并提供一系列方法来操作字符串对 ...
- Java基础(三十四)String、StringBuffer类和数据缓冲区Buffer类
一.String类 1.创建字符串对象 创建字符串对象有两种方法:直接用“=”或者使用“new String(...)” String aStr = "TMZ"; String b ...
- Java常用API(String类)
Java常用API(String类) 概述: java.lang.String 类代表字符串.Java程序中所有的字符串文字(例如 "abc" )都可以被看作是实现此类的实例 1. ...
- Java基础之String、StringBuffer、StringBuilder浅析
Java基础之String.StringBuffer.StringBuilder浅析 一.前言: 位于java.lang包下的String.StringBuilder.StringBuffer一般都是 ...
- Java中的String、StringBuffer和StringBuilder
作为作为一个已经入了门的java程序猿,肯定对Java中的String.StringBuffer和StringBuilder都略有耳闻了,尤其是String 肯定是经常用的.但肯定你有一点很好奇,为什 ...
- Java中的String、StringBuffer以及StringBuilder的用法和区别
String String的构造方式有n种(据说n==11),常见的例举一二: String s1 = "hello world"; String s2 = new String( ...
- Java高级特性-String、StringBuffer和StringBuilder
Java高级特性-String.StringBuffer和StringBuilder String Java语言中的字符串值都属于String类,虽然有其他方法表示字符串(如字符串数组),但Java一 ...
- Java 中 常用API概述之 Math, Object, String,StringBuffer类,Arrays,Integer类
Math Math类包含执行基本数字运算的方法,如基本指数,对数,平方根和三角函数. 与StrictMath类的一些数字方法不同,Math类的StrictMath所有Math都没有定义为返回比特位相同 ...
- Java学习笔记20(String类应用、StringBuffer类、StringBuilder类)
1.获取指定字符串中大小写和数字的个数: package demo; public class StringTest { public static void main(String[] args) ...
- Java从零开始学三十(String和StringBuffer类)
一.StringBuffer连接字符操作 当一个字符串的内容需要被经常改变时就要使用StringBuffer 在StringBuffer中使用append()方法,完成字符串的连接操作 二.Str ...
随机推荐
- Html5 Canvas 实现图片合成
多个图片合成一张 <!doctype html> <html> <head> <meta charset="utf-8"> < ...
- 将select的默认小三角替换成别的图片,且实现点击图片出现下拉框选择option
最近做项目,要求修改select下拉框的默认三角样式,因为它在不同浏览器的样式不同且有点丑,找找网上也没什么详细修改方法,我就总结一下自己的吧. 目标是做成下图效果: 图一:将默认小三角换成红圈的三角 ...
- jQuery 实现下载进度条
//ajax异步上传 $.ajax({ url: "${pageContext.request.contextPath }/upload", type: "POST&qu ...
- daterangepicker的个性化使用技巧
由于该模板不自动将时间戳添加到input中去,始终为NaN,所以,自己选取起始时间与截止时间 var startTime =new Date(new Date().toLocaleDateString ...
- pyhton3解决"tuple parameter unpacking is not supported"问题
准备将键值对中的键与值对调,结果第10行出了bug,显示"tuple parameter unpacking is not supported" 解决方法:将map(lambda( ...
- 【Mac】解决「另一个活跃的 Homebrew 进程正在进行中」问题
问题描述 在安装 tesseract 的语言包时,由于网络下载速度太慢,我按下 ctrl + z 退出了安装,当再次输入安装命令时,系统报错如下: 解决方法 使用以下命令删除 homebrew 进程锁 ...
- 笔记(assert 断言)
并发:在同一个时间段交替执行多个任务并行:在同一个时间点同时执行多个任务串行:同时执行的多个任务按顺序执行(换句话说就是一个任务执行完后才能执行下一个任务) #mysql limit用法: selec ...
- 《Java 程序设计》课堂实践项目-mini dc
<Java 程序设计>课堂实践项目-后缀表达式 课后学习总结 目录 改变 mini dc实验要求 后缀表达式介绍 课堂实践成果 课后思考 改变 修改了博客整体布局,改变了之前贴个截图粘个代 ...
- 【NOIP2018pj】题解
[NOIP2018pj]题解 \(T1\) 题面 洛谷 题解 好像并没有什么好说的... #include <iostream> #include <cstdio> #incl ...
- KVM克隆CentOS6虚拟机后无法启动
启动网卡报如下错误: Bringing up interface eth0: Device eth0 does not seem to be present,delaying initializati ...