字符串(Java.lang.String类)的使用
java字符串就是Unicode字符序列,例如"Java"就是四个Unicode字符
java没有内置的字符串类型,而是在标准Java类库中提供了一个预定义的类String。每个用双引号括起来的字符串都是String类的一个实例。
Java允许使用符号"+"把两个字符串链接起来。
String s1="Hello";String s2="World"; String s=s1+s2;"HelloWorld"
符号“+”把两个字符串an给定的顺序连接在一起,并且完全按照给定的形式。
当"+"运算符两侧的操作数中只要有一个是字符串(String)类型,系统会自动将另一个操作数转换为字符串在进行连接。
int age=18; String s="age"+age;// age18
字符串的常用类型:
char charAt(int index):返回字符串中第index个字符。
boolean equals(String other):如果字符串和other相等,就返回true
boolean equalsIgnoreCase(String other):如果字符串与other相等(忽略大小写),则返回true
int indexOf(String str)
int indexOf(String str,int fronIndx):返回与str匹配的第一个字符串开始的位置,该位置从0或fronIndx计算,如果原始串中不存在str,返回-1。
int length():返回字符串的长度
String replace(char oldChar,char newChar):返回一个新串,它是通过newChar替换此字符串中出现的所有oldChar而生成的
boolean rtartsWith(String prefis):如果字符串以prefis结尾,就返回true
String substring(int beginIndex)
String substring(int beginIndex,int endIndex):返回一个新的字符串,该串包含从原始字符串beginIndex到串尾endIndex-1的所有字符串
String toLowerCase():返回一个新的字符串中所有大写字母改写成小写字母
String toUpperCase():返回一个新的字符串,该串原始字符串中的所有小写改成大写
String trim():返回一个新的字符串,该串删除了原始字符串头部和尾部的空格
字符串相等的判断
equals方法用来检测两个字符串内容是否相等,相等返回true,否则false
内容可以是字符串变量,也可以是字符串常数。例如"Hello".equals(t)
要测试两个字符串除了大小写是否相等的,需要使用equalsIgnoreCase方法:"Hello".equalsIgnoreCase("hello")
判断字符串是否相等使用“==”
String g1="Hello World!";
String g2="Hello World!";
boolean b1=g1.equals(g2);
System.out.println("\tg1.equals(g2) 是否相等:" + (b1 ? "相等" : "不相等") );
boolean b2=(g1==g2);
System.out.println("\tg1==g2 是否相等:" + (b2 ? "相等" : "不相等") );
System.out.println("=========================================");
String s1=new String("Hello World!");
String s2=new String("Hello World!");
boolean b3=s1.equals(s2);
System.out.println("\ts1.equals(s2) 是否相等:" + (b3 ? "相等" : "不相等") );
boolean b4=(s1==s2);
System.out.println("\ts1==s2 是否相等:" + (b4 ? "相等" : "不相等"));
}
}
/**
* g1.equals(g2) 是否相等:相等
* g1==g2 是否相等:相等
*======================================
* s1.equals(s2) 是否相等:相等
* s1==s2 是否相等:不相等
==和equals的区别和联系
==:
a)基本类型,比较的是值
b)引用类型,比较的是地址
c)不能比较没有父子关系的两个对象
equals()
a)系统类一般已经涵盖的equals比较的是内容
b)用户自定义类如果没有覆盖equals(),将调用父类的equals()
c)用户自定义类需要覆盖父类的equals()
Objest比较的==和equals都是地址
字符串(Java.lang.String类)的使用的更多相关文章
- java.lang.String 类的所有方法
java.lang.String 类的所有方法 方法摘要 char charAt(int index) 返回指定索引处的 char 值. int codePointAt(int index) 返回指定 ...
- JDK1.8源码(三)——java.lang.String 类
String 类也是java.lang 包下的一个类,算是日常编码中最常用的一个类了,那么本篇博客就来详细的介绍 String 类. 1.String 类的定义 public final class ...
- java.lang.String 类源码解读
String类定义实现了java.io.Serializable, Comparable<String>, CharSequence 三个接口:并且为final修饰. public fin ...
- JDK1.8源码(三)——java.lang.String类
一.概述 1.介绍 String是一个final类,不可被继承,代表不可变的字符序列,是一个类类型的变量.Java程序中的所有字符串字面量(如"abc")都作为此类的实例实现,&q ...
- Java.lang.String类
1.String类定义 String 字符串对象本质上是一个 final 修饰的字符串数组对象, java字符串就是Unicode字符序列. 因为被final修饰, 所以字符串是常量,它们的值一旦 ...
- java.lang.String类compareTo()返回值解析
一.compareTo()的返回值是int,它是先比较对应字符的大小(ASCII码顺序)1.如果字符串相等返回值02.如果第一个字符和参数的第一个字符不等,结束比较,返回他们之间的差值(ascii码值 ...
- 『Java』String类使用方法
Java中的字符串 java.lang.String类表示字符串类,Java程序中所有字符串文字都可以看作实现该类的实例. 特点: 字符串不可变:字符串的值在创建后不能在发生改变 public cla ...
- 【Java面试题】53 能不能自己写个类,也叫java.lang.String?
可以,但是即使你写了这个类,也没有用. 这个问题涉及到加载器的委托机制,在类加载器的结构图(在下面)中,BootStrap是顶层父类,ExtClassLoader是BootStrap类的子类,ExtC ...
- 能不能自己写个类,也叫java.lang.String?
可以,但在应用的时候,需要用自己的类加载器去加载,否则,系统的类加载器永远只是去加载jre.jar包中的那个java.lang.String.由于在tomcat的web应用程序中,都是由webapp自 ...
随机推荐
- python shutil 文件(夹)的复制、删除、移动、压缩和解压
高级的 文件.文件夹.压缩包 处理模块 shutil.copyfileobj(fsrc, fdst[, length])将文件内容拷贝到另一个文件中 import shutil shutil.copy ...
- Scrapy持久化(items+pipelines)
一.items保存爬取的文件 items.py import scrapy class QuoteItem(scrapy.Item): # define the fields for your ite ...
- 把本地仓库同步到github上去
1.愚蠢的没有进入之前设定的工作目录就开始用 git remote add origin https://github.com/bobowa/learngit.git 这个命令上传,报错如下 fata ...
- UVA 最大面积最小三角形剖分
点击打开题目 题目大意: 以顺时针或逆时针给出一个简单多边形的n个点的坐标,用n-2条互不相交的,且与边不相交的对角线,分成n-2个三角形,要求其中最大三角形的面积最小 开始还汪星人咬乌龟,无从下口, ...
- Mysql梳理-关于索引/引擎与锁
前言 最近突发新型肺炎,本来只有七天的春节假期也因为各种封锁延长到了正月十五,在家实在闲的蛋疼便重新研究了一下Mysql数据库的相关知识,特此总结梳理一下.本文主要围绕以下几点进行: 1.Mysql的 ...
- swoole(PHP异步网络通信引擎)的结构和运行流程
swoole结构说明和运行流程 主要分为三个部分: 1.Master:swoole的主进程 处理swoole核心的事件驱动, 它包含多个线程(蓝色Reactor), 所有事件的监听都在Reactor实 ...
- 【WPF学习】第二十六章 Application类——应用程序的生命周期
在WPF中,应用程序会经历简单的生命周期.在应用程序启动后,将立即创建应用程序对象,在应用程序运行时触发各种应用程序事件,你可以选择监视其中的某些事件.最后,当释放应用程序对象时,应用程序将结束. 一 ...
- 痞子衡嵌入式:嵌入式里堆栈原理及其纯C实现
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家讲的是嵌入式里堆栈原理及其纯C实现. 今天给大家分享的这篇还是2016年之前痞子衡写的技术文档,花了点时间重新编排了一下格式.栈这种结构在嵌入式 ...
- Kubernetes学习(一)
一 安装 三台机器搭建K8S集群,一台master两台woker Docker 18.09.0---kubeadm-1.14.0-0 kubelet-1.14.0-0 kubectl-1.14.0-0 ...
- Linux驱动管理
一.驱动更新 本示例为更新网卡驱动,把新的驱动文件放到/root/目录下,然后执行下面的命令 备份已有的文件,将新的文件复制的相应位置 mv /lib/modules/`uname -r`/kerne ...