黑马程序员_String类及StringBuffer和StringBuilder概述和功能、基本数据类型

Python爬虫实战:5分钟搞定大众点评评论数据抓取(附完整代码) 本文详细介绍了使用Python爬虫高效获取大众点评评论数据的5个关键技巧,包括环境配置、智能页面解析、反反爬策略、数据存储与容错设计以及性能优化。通过实战案例和完整代码,帮助开发者快速掌握文本挖掘技术,适用于市场分析和商业决策。 阅读详情

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- 

String类及StringBuffer和StringBuilder概述和功能

一、String类

字符串是一个特殊的对象。

只要是双引号括起来的,都是一个字符串对象,如:”abc”,”3344”,这都属于字符串对象。String  s  = “abc”;  s类类型变量,”abc”是一个对象。

String类中有很多够着函数,有空参数的构造函数,也有有参数的构造函数。这样看来,

String s = new String();

String s1 =””;

这两个方式其实是一样的,当然第二个方法更为方便。

字符串一旦初始化就不可以被改变。

String  s  = “abc”;

s = “aaaa”;

这里,不要以为原有字符串改变了,”abc”并没有变,变化的是s变量的指向,它指向了一个新的字符串对象。再看下面的代码:

         String s1 = "abc";

                   Strings2 = new String("abc");

上面两者的是有区别的,s1在内存中有一个对象,s2中在内存中有两个对象。但是s1和s2的地址不同,如果用equals方法比较的话,结果却是true。因为String类复写了Object的 equals方法,比较的是字符串中的内容是否相同。

字符串是在常量池中的,所以一个字符串对象是单一的,比如:
                   String s1 ="abc";

                   Strings2 = "abc";

其中s2不会在创建一个新的字符串,而是指向原有的字符串。

二、String中的常用方法

1、  获取

1.1   获取字符串长度  int  length()

1.2   根据位置获取位置上某个字符  char  charAt(int index)

1.3   根据字符获取该字符在字符串中的位置

 int indexOf(int ch)  这里注意传入的是ASCII码。返回的是ch在字符串中第一次出现的位置。

 int indexOf(int ch  ,  int formIndex ) 从formIndex位置开始,返回ch在字符串中的出现的位置。

int indexOf(String  str)  这里注意传入的是ASCII码。返回的是str在字符串中第一次出现的位置。

 int indexOf(String  str  ,  int  formIndex ) 从formIndex位置开始,返回str在字符串中的出现的位置。

相应的如果前面加上last,比如lastIndexOf,就是获取最后一次出现的位置。

上述方法中,如果没有要找的字符或字符串,那么就会返回-1

2、  判断

2.1 字符串中是否包含某一个子串

boolean  contains(str);

特殊之处:indexOf(str):可以索引str第一次出现的位置,如果返回-1,则表示该str不再字符串中,所以也可以用于判断是否包含。

if(str.indexOf(str)!=-1)

而且该方法即可以判断是否存在,又可以判断位置。

2.2 字符串中是否有内容

boolean  isEmpty() 这里其实就是判断length()是否为零。(1.6才有)。

2.3 字符串中是否以指定内容开头

   boolean startsWith(Stringstr);

2.4字符串发是否以指定内容结尾

   booleanendsWith(String str);

2.5判断字符串内容是否相同,复写了Object类中的equals方法

   boolean  equals(str);

2.6 判断内容是否相同,并忽略大小写

   booleanequalsIgnoreCase(str);

3、  转换

3.1 将字符数组转成字符串

构造函数:String(char[]);将字符数组转成字符串

          String(char[ ]  ch  ,int offset , int count);将字符数组的一部分转成字符串,从offse值开始,长度为count值。

静态方法:

                    static  String copyVauleOf(char[ ]  ch)

                    static  String copyVauleOf(char[ ]  ch ,int offse , int count)

                    static  String vauleOf(char[ ]  ch)

3.2 将字符串转成字符数组

           char[]  toCharArray()将字符串变成字符数组

3.3将字节数组转成字符串

String(byte[] b);

String(byre[] int offset ,int count)

3.4将字符串转成字节数组

           byte[]  getBytes()

3.5 将基本数据类型转成字符串

String valueOf (int);

String valueOf (double);

特殊:字符串和字节数组在转换过程中,是可以指定编码表的,有这个方法、

 

4、  替换

String replace (char oldchar , charnewchar) 替换字符

如果要替换的字符不存在,则返回的是原来的字符串。

String replace (oldstr , newstr ) 替换字符串

5、  切割

String [ ] split(regex); 把一个字符串,以regex隔开,分成一个字符串数组。

6、  获取字符串的字串

String substring(begin)

String substring(begin ,end);注意,这个截取的是只包含头,不包含尾。

7、  转换,去除空格

7.1 将字符串转成大写或者小写

           StringtoUpperCase();

           StringtoLowerCase();

7.2 将字符串两端的多个空格去除

           Stringtrim();

7.3 对两个字符串进行自然顺序比较

           intcompareTo(str);这个要注意,两字符串相等返回为0,大于返回大于0的参数,小于返回小于0的参数,一句Unicode

 

StringBuffer和StringBuilder

一、StringBuffer

StringBuffer是一个容器,可以对字符串内容进行增删,很多方法与String方法一致,StringBuffer长度是可变的。

操作方法:当然最先都要建立对象。

1、  存储

1.1 StringBuffer append(数据):将制定数据作为参数添加到已有数据的结尾处。返回时Stringbuffer对象。注意数据中,接收除byte、short意外的其他基本类型,可接受字符串,数组类的只接收char类型数组,接受对象和其他Stringbuffer对象。

1.2 StringBuffer insert(index,数据):可以将数据插入指定位置。

2、删除

         StringBufferdelete(int start , int end):从指定位置删除数据,含头不含尾。

         StringBufferdeleteCharAt(int index):删除指定位置的字符

2、  获取

char charAt(int index)

int indexOf(String str)

int length()

String substring(int start ,int end)这里注意,也是返回的String类型

3、  修改

StringBuffer replace(start , end ,str);

void setCharAr(ine index , char ch)这里注意,没有返回类型

4、  反转

StringBuffer reverse();

5、void getChar(intsrcBegin , int srcEnd , char[ ] dst , int dstBegin):将缓冲区中的指定字符存到目标字符数组中

 

总结:

1)  StringBuffer长度是可变化的

2)  可以操作多个数据类型

3)  最终通过toString方法变成字符串。

二、StringBuilder

         这类是被用作StringBuffer的简易替换,不保证同步。JDK1.5特性

         StringBuilder是线程不同步的

         StringBuffer是线程同步的

 

开发建议使用StringBuilder。

 

 

基本数据类型对象

一、基本数据类型包装类

java中可以把基本数据类包装成类,这样就可以用对象的方法对基本数据类型进行操作。

每个基本数据类型都有对应的包装类,比如byte  Byte ,int  Integer。。。。。。我们以Ingeter为例。

基本数据类型对象包装类的最常见的作用,就是用于基本数据类型和字符串类型之间的做转换。

1、基本数据类型转换成字符串:基本数据类型+””   

         基本数据类型.toString(基本数据类型);

如:Integer.toString(99),将99转换成字符串”99”。

2、字符串转成基本数据类型

         以Integer为例:int num =Integer.parseInt ( “123456”),这样就把字符串”123456”转变成十进制的123456

3、十进制转换成其他进制

         toBinaryString()

         toHexString()

         toOctalString()

4、其他进制转换成十进制

         praseInt(String ,radix)注意,这里传入的radix是进制数,如2,8,10,16,前面的字符串是对应后面的进制的。

 

 

二、JDK1.5新特性

基本数据类型的拆箱与装箱  

   Integer a = 4;这里就会把4自动装箱为Integer对象

   System.out.println(a+5);这里就会把Integer对象a,进行拆箱和5相加;

  

  -128~127

在这个范围内,相同数字装箱对应的对象只有一个。程序如下:

                   Integer i1 = 13;

                   Integer i2 = 13;

                   System.out.println(i1==i2);

                   结果是 true

注意一点,byte中自动装箱对象一样,但是用到new Integer(13)和new Integer(13),就是两个对象了。

 

 

SAP-ABAP:接口多继承与复合接口设计:复杂业务场景下的能力组合实现方案 本文介绍了ABAP中通过接口多继承与复合接口设计实现能力组合的方案。文章首先辨析了类实现多个接口与接口继承接口的核心概念,指出ABAP虽不支持类多继承,但可通过这两种机制灵活组合能力。随后详细讲解了类实现多个接口的语法规则与三种调用方式,并给出了五个基础能力接口的设计示例(日志记录、权限校验、数据导出、消息通知、格式转换)。作者通过对比单继承与接口多重实现的差异,强调后者在解耦和扩展性上的优势,为复杂业务场景下的能力组合提供了实用解决方案。 阅读详情

相关推荐

CRMEB商城系统任意文件下载漏洞(CVE-2024-52726)分析与修复

在Web应用安全领域,API接口安全是保障系统边界安全的核心环节。其原理在于通过签名验证、参数校验等机制,确保请求的合法性与完整性。这项技术的价值在于为系统间数据交互提供安全通道,防止未授权访问和数据泄露。典型的应用场景包括电商系统的对外数据接口、第三方服务集成等。然而,当签名验证逻辑存在缺陷或文件路径处理不当,便会引发严重的安全风险。本文以CRMEB开源商城系统为例,深入剖析其对外API模块中因签名验证绕过和路径遍历导致的任意文件下载漏洞。该漏洞允许攻击者下载服务器敏感文件,如数据库配置文件、日志和源码,

weixin_27722377的博客 376

黑马程序员——Java String、StringBuffer、StringBuilder、基本数据类型对象包装类

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- 自学Java第七天笔记。本人是根据毕向东老师的JavaSE视频学习的。 Java String、StringBuffer、StringBuilder、基本数据类型对象包装类 一.String。 1.概述: java中用String类进行描述。对字符串进行

zhaofengshiwo的专栏 521

如何实现SOLIDWORKS阵列的“智能变更”?

有时,我们在设计一个零件时,零件上有一排阵列孔,同时零件有不同的长度,我们又希望可以做到零件长度改变时,这排孔可以按长度等距增减孔阵列的个数;或是零件长度加长或缩短时,这排孔保持个数不变,按零件长度增减孔距。 那具体要怎么做呢?接下来,我们一起来看看怎么用SOLIDWORKS中简单的操作来实现这两种智能的变更: 零件长度加长或缩短时,这排孔要按长度等距增减孔阵列的个数。 零件长度加长或缩短时,这排孔保持个数不变,按零件长度增减孔距。 那接下来,我们一起来看看怎么用简单的操作来实现这两种智能的

SOLIDWORKS艾金米 2079

黑马程序员----论String,StringBuffer,StringBuilder,基本数据类型对象包装类

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- ------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------

Nemo9291的博客 935

STC8H单片机ADC实战:从读取电位器到串口绘图,12位精度玩起来

本文详细介绍了STC8H单片机的ADC功能实战应用,从读取电位器到串口绘图,展示了12位精度的实现方法。通过硬件连接、代码配置、串口数据传输及高级优化技巧,帮助开发者快速掌握ADC模块的使用,适用于各种传感器数据采集和信号处理场景。

weixin_28278377的博客 344

3 种 VLA 模型动作表示方案对比:RT-2 离散化 vs π0 流匹配 vs HybridVLA 混合架构

本文深入对比了三种VLA模型动作表示方案:RT-2离散化、π0流匹配和HybridVLA混合架构。分析了各自的技术原理、优势与局限性,并提供了应用场景选择指南,帮助研究者在具身智能领域做出更优的技术选型决策。

weixin_29031161的博客 319

黑马程序员 java学习笔记——String类(包含StringBuffer和StringBuilder)

String类的概述

PleaseCallMeWisely的专栏 923

语音信号的AGC自适应增益调整matlab仿真

语音信号的自动增益控制(Automatic Gain Control,AGC)是音频处理领域中的一项重要技术。其核心功能是实时调整输入信号的幅度,使其保持在一定范围内,以优化输出信号的质量。AGC广泛应用于语音通信、语音识别、音频录制和播放等领域,旨在解决输入信号幅度波动问题,确保输出信号的稳定性和清晰度。一、AGC的基本原理1.1 幅度调整自动增益控制的基本原理是根据输入信号的幅度动态地调整系统的增益。

平时工作较为繁忙,私信消息一般晚上回复,谢谢大家~~ 922

黑马程序员-String、StringBuffer、StringBuilder类-笔记

v String类: String是final的类,因此不能继承,因此不能有子类。 双引号引起来的,都是String类的一个具体对象。   Strings = new String(); 用法等价于 String s = “”; 但意义不相同。 ! 例题: String s1 = new String(“abc”); String s2 = “abc”; 请问s1与s2有什么区别?

u014540688的专栏 939

最新Python爬虫实战(入门爬虫篇)——案例17:某天气网40天天气预报数据采集(详细爬虫思路截图+抓包动图演示+完整爬虫代码+详细注释)

本次案例通过分析某天气网的数据接口,成功实现了对40天天气预报数据的批量采集。抓包分析:利用浏览器开发者工具找到隐藏的JSONP数据接口,掌握URL构成规律。请求模拟:构造带有Referer和User-Agent的请求头,添加时间戳参数避免缓存,获取原始数据。数据解析:处理JSONP格式,去除前缀后使用json模块解析,提取所需字段并规范化日期格式。数据存储:利用pandas将结构化数据保存为Excel文件,便于后续分析和使用。动态数据接口的发现与分析JSONP数据的清洗与解析。

努力让自己发光,对的人才能迎着光而来 22万+

RK平台PCIE-Ethernet扩展:Intel I210移植与性能飞升之路

本文详细介绍了Intel I210千兆以太网控制器在瑞芯微RK平台的移植与优化过程。通过硬件适配、内核配置、驱动开发及性能调优四个关键环节,实现了RK平台的网络性能提升。硬件方面,重点说明了PCIE接口的规范连接与供电检查;软件方面,系统阐述了内核配置、设备树修改和驱动编译流程。在性能优化环节,详细介绍了中断优化、缓冲区设置和TCP/IP协议栈调优策略,并采用Iperf和Netperf工具进行量化测试验证。测试结果显示,优化后的网络吞吐量提升20%以上,延迟降低40%,为工业控制、智能安防等场景提供了可靠的

远程部署调试 运行安装 项目调试 二次开发 项目技术新 持续迭代 部分源码免费分享 352

黑马程序员——Java之String类、基本数据类型对象包装类等

----------android培训、java培训、java学习型技术博客、期待与您交流!------------

tansuozhe1990的博客 662

SpringBoot整合JWT实战:从零构建无状态认证系统,详解Token生成、验证与安全最佳实践

JWT在SpringBoot中的实现与应用 摘要:本文介绍了JWT(JSON Web Token)的基本概念、与Session机制的对比,以及SpringBoot项目中JWT的整合实现。JWT由Header、Payload和Signature三部分组成,具有无状态、跨域支持等优势。文章详细展示了如何在SpringBoot项目中配置JWT环境,封装JWT工具类来实现Token的生成、解析和验证功能,包括密钥管理、自定义声明、签名验证等核心操作。通过对比表格和生活化比喻,帮助读者理解JWT与传统Session的

本博客聚焦 YOLOv11 全流程落地,涵盖架构优化、数据集处理、训练技巧与多场景部署,兼及国产数据库、Java 开发与 AI 模型应用,内容兼顾理论与工程实践,为开发者提供系统干货,助力高效提升技术能力。 1775

黑马程序员--String类、StringBuffer类和StringBuilder类

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- 一、           定义 1、三者的特征 String字符串常量,字符串对象一旦被初始化就不会被改变。 StringBuffer字符串变量(线程安全)底层是char[], 数组初始化的时候就定下了大小, 如果不断的append 肯定有超过数组大小的时候,我们是不是定义一个超大容

ErYouList的博客 450

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

String、StringBuilder、StringBuffer、StringJoiner类的常用方法,以及区别

文章记载了String,StringBuilder 和 StringBuffer的区别点,

qq_46030254的博客 1243

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

黑马程序员_十 【String】【StringBuffer】【基本数据包装类】

--------------------- android培训、java培训、java学习型技术博客、期待与您交流! -------------------   【Sing】【StringBuffer】【StringBuilder】【基本类型包装类】  1   String类  String类的定义: public final class String  没有子类,因为用f

宋旭东--黑马程序员博客 960

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

黑马程序员——String类与StringBuffer

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- String类 String类适用于描述字符串事物。 那么他就提供了多个方法对字符串进行操作。 常见的操作有哪些? "abcd" 1,获取。 1.1 字符串中的包含的字符数,也就是字符串的长度。 int length():获取长度。 1.2 根据位置

wei381215240的专栏 492

黑马程序员 _Java中的String、StringBuffer、StringBuilder

---------------------- android培训、java培训、期待与您交流! ----------------------  一、String 字符串。既是一个对象,也是一个常量。最大特点就是:一旦被初始化就不可以被改变。 String在内存中的存储方式:字符串在内存当中有一个常量池,池中是数组,数组在存放字符。 当要存入一个字符串时,会先在池中查找是否有该

距离 823

黑马程序员——java中String、StringBuffer、StringBuilder简单见解

声明:本人学习Java是零基础,在学习了String,StringBuffer,StringBuider类后总结一些知识点,便于以后深度理解,初学者可以借鉴学习,还请高手大神请指点,谢谢! String类 API中对String类是这样描述的: public final class Stringextends Objectimplement

a951179821的博客 336

黑马程序员-string和stringbuffer总结

基本概念介绍. String就是java等编程语言中的字符串,用双引号引起来的几个字符.如"Abcdef","你好". String 类适用于描述字符串事物。 字符串是一个特殊的对象。 字符串一旦初始化就不可以被改变。 两种方式:String str = "abcdeg";  String str1 = new String("abc") 前者可以看做是后者的简写吧。 下面对

u013159249的专栏 698

黑马程序员——Java基础——String类、StringBuffer和StringBuilder

String类被final修饰符所修饰,所以它没有子类。 一旦被初始化就不可以被改变。 String类复写了

twa42的博客 389

黑马程序员--String、StringBuffer、StringBuilder、基本数据类型对象包装类(Java)

一.String。 1.概述: java中用String类进行描述。对字符串进行了对象的封装。这样的好处是可以对字符串这种常见数据进行方便的操作。对象封装后,可以定义N多属性和行为。 String是字符串的类类型,用于描述字符串事物。 2.特点: 一旦被初始化就不可以被改变。存放在方法区中的常量池中。 3.面试题: String s1 = "abc"; Stri

a573701436a的专栏 301

黑马程序员——Java基础——String类、StringBuffer类、StringBuilder类、基本数据类型对象包装类操作、正则表达式应用

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- 一、String类      位于java.lang包中。      1、概念          字符串是由许多单个字符连接而成的,它可以由任何字符组成,这些字符必须包含在一对””(双引

lifeoflive521的专栏 686

黑马程序员——JAVA练习——String、StringBuffer和StringBuilder

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- 练习一、去除字符串两端空格。 思路:用两个循环分别从头和尾判断是否存在空(' ')字符,并根据获取的角标截取子串。 public class Demo { public static void main(String[] args) { String s="

安安安的博客 697

String、StringBuffer和StringBuilder类的区别

在 Java 中字符串属于对象,Java 提供了 String 类来创建和操作字符串。String 类是不可变类,即一旦一个 String 对象被创建以后,包含在这个对象中的字符序列是不可改变的,直至这个对象被销毁。

Itmastergo的博客 118

黑马程序员—Java的String类以及Java基本数据类型对象包装类

7.String类   字符串是一个类,是一个常量,定义后就不可更改,存放在方法区中的常量池中。Strng s1 = “abc”;s1=”kk”; ,更改是的是s1的值,而字符串类”abc”并未被更改。   String s1 = "abc";                   String s2 = new String("abc");          System.out.

rubiolelouch的博客 943
上一篇: 黑马程序员_面向对象(异常)
下一篇: 黑马程序员_多线程(概念和创建)
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值