java lang string

1、string

String 类代表字符串。Java 程序中的所有字符串字面值(如 "abc" )都作为此类的实例实现。 字符串是常量;它们的值在创建之后不能更改。字符串缓冲区支持可变的字符串。因为 String 对象是不可变的,所以可以共享。例如:

     String str = "abc";

等效于:

     char data[] = {'a', 'b', 'c'};
    String str = new String(data);

下面给出了一些如何使用字符串的更多示例:

     System.out.println("abc");
    String cde = "cde";
    System.out.println("abc" + cde);
    String c = "abc".substring(2,3);
    String d = cde.substring(1, 2);

String 类包括的方法可用于检查序列的单个字符、比较字符串、搜索字符串、提取子字符串、创建字符串副本并将所有字符全部转换为大写或小写。大小写映射基于Character 类指定的 Unicode 标准版。

Java 语言提供对字符串串联符号("+")以及将其他对象转换为字符串的特殊支持。字符串串联是通过StringBuilder(或StringBuffer)类及其append 方法实现的。字符串转换是通过toString 方法实现的,该方法由Object 类定义,并可被 Java 中的所有类继承。有关字符串串联和转换的更多信息,请参阅 Gosling、Joy 和 Steele 合著的The Java Language Specification。

除非另行说明,否则将 null 参数传递给此类中的构造方法或方法将抛出NullPointerException。

String 表示一个 UTF-16 格式的字符串,其中的增补字符 由代理项对 表示(有关详细信息,请参阅Character 类中的Unicode 字符表示形式)。索引值是指char 代码单元,因此增补字符在String 中占用两个位置。

String 类提供处理 Unicode 代码点(即字符)和 Unicode 代码单元(即char 值)的方法。

2、String的方法

方法摘要
char charAt(int index)
返回指定索引处的 char 值。
int codePointAt(int index)
返回指定索引处的字符(Unicode 代码点)。注:小标从0开始
int codePointBefore(int index)
返回指定索引之前的字符(Unicode 代码点)。注:小标从1开始
int codePointCount(int beginIndex, int endIndex)
返回此 String 的指定文本范围中的 Unicode 代码点数。
int compareTo(String anotherString)
按字典顺序比较两个字符串。
int compareToIgnoreCase(String str)
按字典顺序比较两个字符串,不考虑大小写。
String concat(String str)
将指定字符串连接到此字符串的结尾。
boolean contains(CharSequence s) 注:str.contains(str)
当且仅当此字符串包含指定的 char 值序列时,返回 true。
boolean contentEquals(CharSequence cs)
将此字符串与指定的 CharSequence 比较。
boolean contentEquals(StringBuffer sb)
将此字符串与指定的 StringBuffer 比较。
staticString copyValueOf(char[] data)
返回指定数组中表示该字符序列的 String。
staticString copyValueOf(char[] data, int offset, int count)
返回指定数组中表示该字符序列的 String。
boolean endsWith(String suffix)
测试此字符串是否以指定的后缀结束。
boolean equals(Object anObject)
将此字符串与指定的对象比较。
boolean equalsIgnoreCase(String anotherString)
将此 String 与另一个 String 比较,不考虑大小写。
staticString format(Locale l, String format,Object... args)
使用指定的语言环境、格式字符串和参数返回一个格式化字符串。
staticString format(String format, Object... args)
使用指定的格式字符串和参数返回一个格式化字符串。
byte[] getBytes()
使用平台的默认字符集将此 String 编码为 byte 序列,并将结果存储到一个新的 byte 数组中。
byte[] getBytes(Charset charset)
使用给定的
charset 将此String 编码到 byte 序列,并将结果存储到新的 byte 数组。
void getBytes(int srcBegin, int srcEnd, byte[] dst, int dstBegin)
已过时。 该方法无法将字符正确转换为字节。从 JDK 1.1 起,完成该转换的首选方法是通过getBytes() 方法,该方法使用平台的默认字符集。
byte[] getBytes(String charsetName)
使用指定的字符集将此 String 编码为 byte 序列,并将结果存储到一个新的 byte 数组中。
void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)
将字符从此字符串复制到目标字符数组。
int hashCode()
返回此字符串的哈希码。
int indexOf(int ch)
返回指定字符在此字符串中第一次出现处的索引。
int indexOf(int ch, int fromIndex)
返回在此字符串中第一次出现指定字符处的索引,从指定的索引开始搜索。
int indexOf(String str)
返回指定子字符串在此字符串中第一次出现处的索引。
int indexOf(String str, int fromIndex)
返回指定子字符串在此字符串中第一次出现处的索引,从指定的索引开始。
String intern()
返回字符串对象的规范化表示形式。
boolean isEmpty()
当且仅当 length() 为0 时返回true。
int lastIndexOf(int ch)
返回指定字符在此字符串中最后一次出现处的索引。
int lastIndexOf(int ch, int fromIndex)
返回指定字符在此字符串中最后一次出现处的索引,从指定的索引处开始进行反向搜索。
int lastIndexOf(String str)
返回指定子字符串在此字符串中最右边出现处的索引。
int lastIndexOf(String str, int fromIndex)
返回指定子字符串在此字符串中最后一次出现处的索引,从指定的索引开始反向搜索。
int length()
返回此字符串的长度。
boolean matches(String regex)
告知此字符串是否匹配给定的
正则表达式。
int offsetByCodePoints(int index, int codePointOffset)
返回此 String 中从给定的 index 处偏移codePointOffset 个代码点的索引。
boolean regionMatches(boolean ignoreCase, int toffset,String other, int ooffset, int len)
测试两个字符串区域是否相等。
boolean regionMatches(int toffset,String other, int ooffset, int len)
测试两个字符串区域是否相等。
String replace(char oldChar, char newChar)
返回一个新的字符串,它是通过用 newChar 替换此字符串中出现的所有 oldChar 得到的。
String replace(CharSequence target, CharSequence replacement)
使用指定的字面值替换序列替换此字符串所有匹配字面值目标序列的子字符串。
String replaceAll(String regex, String replacement)
使用给定的 replacement 替换此字符串所有匹配给定的正则表达式的子字符串。
String replaceFirst(String regex, String replacement)
使用给定的 replacement 替换此字符串匹配给定的正则表达式的第一个子字符串。
String[] split(String regex)
根据给定
正则表达式的匹配拆分此字符串。
String[] split(String regex, int limit)
根据匹配给定的
正则表达式来拆分此字符串。
boolean startsWith(String prefix)
测试此字符串是否以指定的前缀开始。
boolean startsWith(String prefix, int toffset)
测试此字符串从指定索引开始的子字符串是否以指定前缀开始。
CharSequence subSequence(int beginIndex, int endIndex)
返回一个新的字符序列,它是此序列的一个子序列。
String substring(int beginIndex)
返回一个新的字符串,它是此字符串的一个子字符串。
String substring(int beginIndex, int endIndex)
返回一个新字符串,它是此字符串的一个子字符串。
char[] toCharArray()
将此字符串转换为一个新的字符数组。
String toLowerCase()
使用默认语言环境的规则将此 String 中的所有字符都转换为小写。
String toLowerCase(Locale locale)
使用给定 Locale 的规则将此 String 中的所有字符都转换为小写。
String toString()
返回此对象本身(它已经是一个字符串!)。
String toUpperCase()
使用默认语言环境的规则将此 String 中的所有字符都转换为大写。
String toUpperCase(Locale locale)
使用给定 Locale 的规则将此 String 中的所有字符都转换为大写。
String trim()
返回字符串的副本,忽略前导空白和尾部空白。
staticString valueOf(boolean b)
返回 boolean 参数的字符串表示形式。
staticString valueOf(char c)
返回 char 参数的字符串表示形式。
staticString valueOf(char[] data)
返回 char 数组参数的字符串表示形式。
staticString valueOf(char[] data, int offset, int count)
返回 char 数组参数的特定子数组的字符串表示形式。
staticString valueOf(double d)
返回 double 参数的字符串表示形式。
staticString valueOf(float f)
返回 float 参数的字符串表示形式。
staticString valueOf(int i)
返回 int 参数的字符串表示形式。
staticString valueOf(long l)
返回 long 参数的字符串表示形式。
staticString valueOf(Object obj)
返回 Object 参数的字符串表示形式。

3、常用方法实例

package studys;

public class Czy {

	public final static String STR = "WERTabds";
	public final static String STR2 = "    WERTabdc  SFG  ";
	public final static char DATA[] = {'k','h'};
	public final static String data1 = new String(DATA);
	
	public static void main(String[] args) {

		System.out.println("返回指定索引处的 char 值:"+ STR.substring(1,3));
		System.out.println("返回指定索引处的 char 值:"+ STR.charAt(2));
		System.out.println("指定索引之前的字符(Unicode 代码点):"+ STR.codePointAt(0));
		System.out.println("指定索引之前的字符(Unicode 代码点):"+ STR.codePointBefore(1));
		System.out.println("将指定字符串连接到此字符串的结尾:"+ STR.concat(data1));
		System.out.println(" 当且仅当此字符串包含指定的 char 值序列时,返回 true:"+ STR.contains(STR));
		System.out.println("返回此字符串的哈希码:"+ STR.hashCode());
		System.out.println("转换成小写:"+ STR.toLowerCase());
		System.out.println("转换成大写:"+ STR.toUpperCase());
		System.out.println("忽略前导空白和尾部空白:"+ STR2.trim());
			
		
	}
		
}


注:以上资料来自JDK API 1.6

【MeshLib & VTK】MeshLib PK VTK 本文分享三维几何处理库MeshLib,并将其与VTK进行对比,希望对各位小伙伴有所帮助! 阅读详情

相关推荐

大连海事大学课设题目/基于LM331的频率电压转换器

部分基于LM331的频压转换的实物连接问题

2301_76649592的博客 3227

java.lang.NoSuchMethodError错误解决(用maven)

<dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>4.0.3.RELEASE</version> </dependency&...

weixin_43763175的博客 5155

9 海康视觉平台VisionMaster 上手系列:典型案例之螺丝机案例

海康视觉平台VisionMaster 上手系列:典型案例之螺丝机案例 快速入门 工业机器视觉 机器视觉

HuangGong2022的博客 7181

java.lang.String

不可被继承public final class String implements java.io.Serializable, Comparable<String>, CharSequence不可被修改用于存储具体内容的数组,该变量(value)不可改变其引用地址,但数组内的每一个元素是可以改变的,但由于String本身没有暴露任何方法且该类无法被继承,所以在实际操作中无法改变数组内的元素/

不务正业的野猴子 701

通过 Android Framework 调用高通 Perf HAL 实现 CPU/GPU 动态调频策略

本文详细介绍了如何通过Android Framework调用高通Perf HAL实现CPU/GPU动态调频策略。文章涵盖HAL交互原理、环境搭建、Power HAL接口实现、PerformanceHintManager应用及温度功耗平衡处理,帮助开发者安全高效地进行性能优化,避免直接操作底层硬件的风险。

keras9composer的博客 259

给新考上北大软件与微电子学院的同学——利用北大资源

利用北大资源 首先,恭喜大家考入北京大学!希望软院成为各位人生旅途中快乐的一站! 说明:限于本人搜集能力有限,本文只列出本人常利用的资源(上课老师会告知的资源也不在此列),本文所述的资源只是北大可利用资源的一个子集。 一、 图书馆资源:北京大学图书馆的资源数量,我就不多废话了,这里主要说一样怎样利用这些资源。 a) 传统资源分布及查找:这种资源主要包括纸质书箱、杂志、光盘等内...

Felomeng的技术博客 1万+

JNI字段描述符“([Ljava/lang/String;)V”

转自:http://fgsink.blog.163.com/blog/static/16716997020124310169911/ “([Ljava/lang/String;)V” 它是一种对函数返回值和参数的编码。这种编码叫做JNI字段描述符(JavaNative Interface FieldDescriptors)。一个数组int[],就需要表示为这样"[I"。如果多个数组dou

pan_00_hao的专栏 2493

ANSYS Twin Builder实战:5步搞定数字孪生模型部署(附ROM配置技巧)

本文详细解析了ANSYS Twin Builder在数字孪生模型部署中的实战应用,重点介绍了ROM(降阶模型)配置技巧。通过5个关键步骤,从环境搭建到工业部署,帮助工程师高效实现高精度三维仿真到轻量化数字孪生的转化,提升预测性维护和系统仿真效率。

weixin_27330481的博客 661

一个线上java.lang.NoSuchMethodError问题的解决

问题描述 : 项目启动时出现如下图错误,一样的配置项目在其他服务器及本地跑没有问题 ,故排除代码问题。 问题分析:查看错误信息 ,全局搜索SpelParserConfiguration类时,发现 spring-expression 和activemq jar包都有这个类,故怀疑是jar包冲突问题,分析原因应该是:jar包的加载是随机的,导致有一台总是失败的。 问题解决:...

MK 乘风破浪~的博客 1121

强化学习 | Multi Agents | Trust Region | HATRPO | HAPPO

ICLR2022多智能体论文,将trust region推广到MA上,保证单调递增。学习博客,共7k字,纯手敲。含大量手写笔记。

111辄的博客 1万+

材料仿真软件:LAMMPS_(8).温度和压力控制

在 LAMMPS 中,温度和压力的控制是通过多种恒温器和恒压器实现的。Nose-Hoover 恒温器和恒压器因其准确性和广泛适用性而被经常使用,而 Berendsen 恒温器和恒压器则因其计算效率高而适用于初步仿真或粗粒化模型。温度重标和压力重标方法虽然简单,但在某些情况下可以快速调整系统的温度和压力。通过选择合适的控制方法,可以根据具体的需求和系统特性来设计和运行分子动力学仿真,从而获得准确和可靠的结果。在实际应用中,建议先进行初步的仿真以确定合适的控制参数,然后再进行细致的仿真以验证结果的稳定性。

kkchenjj的博客 1696

安路TD联合Modelsim仿真实战避坑指南:从license到波形调试

FPGA仿真验证是数字逻辑设计中的关键环节,通过行为级和门级仿真可在流片前发现功能缺陷。联合仿真工具链的核心在于将器件原语和IP核编译为仿真库,再由Modelsim加载运行,从而实现接近真实器件的验证环境。在国产FPGA开发中,安路TD与Modelsim的联合使用日益普遍,但license配置、仿真库编译、波形显示异常等问题常导致仿真失败。掌握正确的库路径配置、testbench编写和波形调试方法,能显著提升FPGA验证效率,适用于教学实验、工业控制等场景。本文聚焦安路TD与Modelsim联合仿真中的典型

weixin_34032621的博客 460

IPv6之001-IPv6是什么

技术本质:IPv6(Internet Protocol version 6)是互联网工程任务组(IETF)设计的网络层核心协议,用于替代IPv4核心使命:解决IPv4地址枯竭问题,重构互联网基础架构,支撑万物互联时代革命性特征fill:#333;color:#333;color:#333;fill:none;IPv6128位地址空间无状态自动配置原生IPsec加密协议头部精简。

老韩的Linux云计算架构师进阶之路 1396

[Ljava.lang.String和java.lang.String区别

在做项目时报了一个got class [Ljava.lang.String的提示,当时看到[Ljava.lang.String这个时,感觉有点怪怪的,第一次遇到这种情况.最后在网上查了下才明白.是数组的意思         [  表示一维数组,[[ 二维数组…… L  表示是对象类型 .看到这,我想大家明白[Ljava.lang.String 可以理解了吧.而java.lang.String

1821

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

[Ljava.lang.String; cannot be cast to java.lang.String错误

[Ljava.lang.String; cannot be cast to java.lang.String错误 2011-02-10 10:10:46|分类:技术|字号订阅 今天使用request.getParameterMap()获得Map中的数据时,使用 Map map=hrequest.getParameterMap(); ...

angyi5367的博客 130

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

java 解决 java.lang.Double cannot be cast to java.lang.String

从map中获取对象提示错误java.lang.Doublecannot be cast to java.lang.String,这个错误很明显是类型转换错误 解决方案: 1.直接使用tosting的方式 String str = entry.value().toString(); 2.使用String类的静态方法valueOf() String str = String.valueO...

menghuannvxia的专栏 5万+

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

java.lang.string用法详解

是Java中表示字符串的类,它是不可变的,即一旦创建,其值无法被修改。这为字符串的安全性和线程安全性提供了保障。

技术研究中心 859

java.lang源码_Java源码学习 -- java.lang.String

java.lang.String是使用频率非常高的类。要想更好的使用java.lang.String类,了解其源代码实现是非常有必要的。由java.lang.String,自然联想到java.lang.StringBuffer和java.lang.StringBuilder,下篇文章再来研究java.lang.StringBuffer和java.lang.StringBuilder。重要属性jav...

weixin_31171307的博客 872

java long转 string_java.lang.Long无法强制转换为java.lang.String

我需要在jsp中迭代一个List。这是我获取列表的方式:(当我评论它时,页面加载就好了)。List pjList = null;StringBuffer ejbQuery = new StringBuffer();EntityManagerFactory emf = Persistence.createEntityManagerFactory("myPersistence");EntityMana...

weixin_36026440的博客 2291

java.lang.String cannot be cast to java.lang.Integer

今天在SpringBoot+MyBatis项目中进行数据库查询操作时,报错 java.lang.String cannot be cast to java.lang.Integer 错误很明显,数据格式不对应,但是我仔细检查了数据库中的数据格式,和代码中的格式,全都一一对应,没有错误。 但是为什么会报错呢??? 后来发现是我MySQL中的字段名设为了size,应该是和MySQL中的关键字重名了,所以才导致报错。修改后,成功运行。 MySQL的关键字和保留字可以在官网上查询。 下面给大家介绍一些,MySQL

tristanly的博客 1083

【异常】java.lang.Integer cannot be cast to java.lang.String

InvocationTargetException , Object转String有几种方法 , Map<String,Object> , mysql , java.lang.Integer cannot be cast to java.lang.String , class java.lang.Long cannot be cast to class java.lang.String , java.lang.Long and java.lang.String ClassCastException

HolaOrange的博客 2万+

能不能自己写个类,也叫java.lang.String

可以,但在应用的时候,需要用自己的类加载器去加载,否则,系统的类加载器永远只是去加载jre.jar包中的那个java.lang.String。由于在tomcat的web应用程序中,都是由webapp自己的类加载器先自己加载WEB-INF/classess目录中的类,然后才委托上级的类加载器加载,如果我们在tomcat的web应用程序中写一个java.lang.String,这时候Servlet程序加

北京Java青年 8722

反射之查看java.lang.String的属性和方法

反射之查看java.lang.String的属性和方法 package demo; import java.lang.reflect.Field; import java.lang.reflect.Method; import java.util.ArrayList; import java.util.Iterator; import java.util.List; public class ...

weixin_45361590的博客 584

能不能自己写个类,也叫 java.lang.String?

能不能自己写个类,也叫 java.lang.String? 标签: String 2015-04-13 12:55 587人阅读 评论(0) 收藏 举报  分类: javaSE(16)  可以,但在应用的时候,需要用自己的类加载器去加载,否则,系统的类加载器永远只是去 加载 jre.jar 包中的那个 java.lang.String。由于在 tomca

evilcry2012的专栏 1399

使用java.lang.String和java.lang.BufferString操作字符串

使用java.lang.bufferstring和java.lang.String操作字符串,让我刹费苦心!经过调试多次!就象C++里得指针一样最怕超出范围。出错。debug让我多次。学习中!

wanghui_00的专栏 1881
上一篇: JSTL标签库:out标签
下一篇: JSTL标签库:Remove标签Catch标签
AndyChen9988
博客等级 码龄11年 276粉丝 89原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值