12.装/拆箱和String类常用方法

Java Character 类和Java String 类 Character 类用于对单个字符进行操作。Character 类在对象中包装一个基本类型的值。Java String 类字符串广泛应用 在 Java 编程中,在 Java 中字符串属于对象,Java 提供了 String 类来创建和操作字符串。 阅读详情

一.包装类:

  • byte–>Byte
  • short—>Short
  • int—>Integer
  • long—>Long
  • float—>Float
  • double—>Double
  • char—>Character
  • boolean—>Boolean

问题:为什么每一个基本类型都对应着一个引用类型呢?

1.在Java中有些场景只能使用引用类型,例如集合框架
2.引用类型对基本数据类型进行了扩展,在类中封装了操作方法


二.拆箱/装箱

1.装箱:从基本类型转换为引用类型的过程

2.拆箱/取消装箱:把引用类型转换为基本类型的过程

例如:
1.字符串------------------>数值

1、 int num=Integer.valueOf(str);  转换的是Integer ,进行拆向后
2、int num4=Integer.parseInt(str);  //建议使用此种方式,直接转换为int
3、Integer integer=new Integer(str);
		int num5=integer;

2.数值------------------>字符串

1、String str3=String.valueOf(num6);
2、//在Integer类中重写了Object类中的toString:把数值转换为字符串
    Integer integerNum7=234;
    String str4=integerNum7.toString();

三.特殊的引用类型String

String:
①使用双引号引起的若干个字符
②常量字符串/不可变字符串

1.案例:

String str1="abc";
 String str2="abc";//二者的地址相同

java 中当给字符串赋值时,如果字符串值在常量区域中已经存在,那么不会分配新的常量区域,而是把现有值的常量地址进行赋值

原理:字符串会产生一个hashCode,通过hashCode,判断字符串值是否在常量区域中存储过

2.使用方式

字符串使用方式一:String str1="abc";
字符串使用方式二:String str2=new String("bcd");

3.重点※※※常用方法

length() int 字符串的长度
charAt() char 返回对应索引位置的字符
indexOf() 字符串首次出现位置
lastIndexOf() 最后一次出现的索引位置
substring() 字符串截取函数
toUpperCase() 转成大写字母
toLowerCase() 转成小写字母
replace() 替换
equals() 判断两个字符串的值是否相等,区分大小写
equalsIgnoreCase() 不区分大小写

split("") 将字符串中的某些值删除,拆分成几段数组
例如:

public class Test13 {
	public static void main(String[] args) {
		String str = "长亭外 古道边 芳草碧蓝天";
		for (String string : str.split(" ")) {
			System.out.println(string);
		}
	}
}
//结果:
长亭外
古道边
芳草碧蓝天


四.String,StringBuilder,StringBuffer

  • String: 字符串是不可变字符串,如果频繁的改变字符串的值,此时如果使用String会浪费内存空间
  • StringBuilder:在原内存空间中改变值,可变字符串.
    非线程安全,使用效率最高
  • StringBuffer:同StringBuilder相同.
    线程安全,效率低
Java(api中常用类,包括Object类,Arrays类,String类,基本数据类型包装类) equals方法用于比较两个对象中的信息是否相等1.String类是java中专门用于处理字符串的类2.String类是1被final修饰的,其他类不能继承3.String类中,有一个char数组用来存储字符串的内容4.字符串的对象一旦创建后就不能改变了(因为char数组是被final修饰的),一旦值改变了就会创建一个新的字符串对象。 阅读详情

相关推荐

【JavaEE基础与高级 第27章】基本类型包装类的使用,装箱以及拆箱与parseInt方法

Java 中的数据类型分为基本类型和引用类型两大类,使用基本类型可以提升效率但是java是面向对象的语言,java的设计思想是一切皆对象,而基本数据类型不是对象,于是 Java 为每种基本数据类型都设计了对应的类,称为包装类。......

KJ.JK 1万+

[ java基础 ] 包装类&String类: 装箱.拆箱.转换

包装类 装箱与拆箱 装箱:从基本类型转换为对应的包装类对象。 拆箱:从包装类对象转换为对应的基本类型。 基本数值---->包装对象 Integer i = new Integer(4);//使用构造函数 Integer iii = Integer.valueOf(4);//使用包装类中的valueOf方法 包装对象---->基本数值 int num = i.intValue(); 自动装箱与自动拆箱(JDK5.0新特性) Integer i = 4;//自动装箱。相当于Integer i =

jason_bone_的博客 893

Xilinx FPGA 10G Ethernet Subsystem example

The 10G Ethernet subsystem provides 10 Gb/s Ethernet MAC, Physical Coding Sublayer(PCS) and Physical Medium Attachment (PMA) transmit and receive functionality over anAXI4-Stream interface.

青城扬沙的博客 2378

字符串及装箱和拆箱

在使用字符串时,字符串是对象,如果要比较其值是否相同,不能使用==,因为==判断的是内存地址所以在比较字符串是否相同时,要是用String类重写的equals方法进行判断。String类中equals重写的原理:判断是否为同一字符串,在判断是否是字符串类型,再将两个字符串转换为字节数组,逐一比较字节数组中的内容,全部一致,返回true调节equals方法时,通常将已知非空字符串作为调用者。字符串String类中的常用方法:方法名返回值作用length()int得到字符串长度。

xyj1903788840的博客 271

逆变器专题(3)-锁相环-PLL

锁相环作为并网逆变器的第一道门户,其锁相的精度将直接影响逆变器是否并网成功,若锁相精度较差,则会直接导致系统的功率因数下降,产生无功等等。在有关文献中指出,提高PLL带宽可以准确且快速进行锁相,而当电网电压含有谐波时,可适当降低带宽抵制谐波的干扰。成为变化量,而如果两者旋转速度达到一致时,所在的交轴分量。ki很大,即带宽很大时,稳定裕度不够,锁相环锁不住。为交流量,当频率锁定而相位没有锁定时,即。,即控制环前馈,可实现将锁相速度的加快。控为0,则可实现系统完美锁相。mod,取余,可减少存储空间。

cyc19980105的博客 6181

Win10+pycharm+conda 配置Siammask 过程记录(新手向)

我们跑动demo 需要配置两个相关的文件这两个文件需要用 git 进行下载,对于不熟悉git的小伙伴 我这里给出连接,大家可以直接下载即可,并将其配置在 experiments文件夹下然后大家再需要在设置参数参数这里给出了。

C1137577723的博客 550

java的String类,自动装箱与拆箱

学习别人的博客后自己写的笔记,感觉看了她其他博客还是挺有收获的,这是原博客传送门 文章目录1.String类,StringBuffer类以及StringBuilder类2.字符串拼接3.StringBuilder的部分API4.字符串相等5.Java基本数据类型基本数据类型与封装好的类的区别:Integer与int的区别:6.Java的自动拆箱和装箱7.Integer和int的比较 1.String类,StringBuffer类以及StringBuilder类 首先String类是不可变类,即一旦产生一个S

helloBanksy的博客 1084

基于STM32与CAN总线的多电机协同控制系统设计与实现

本文详细介绍了基于STM32与CAN总线的多电机协同控制系统设计与实现。该系统采用分布式架构,通过CAN总线实现多节点通信,结合梯形加减速算法和同步控制策略,有效解决了工业自动化中多电机同步性差的问题。文章涵盖硬件设计、通信协议、抗干扰措施及实战调试经验,为工业应用提供高可靠性解决方案。

tech5的博客 969

自动装箱、拆箱和String的相关问题

1、自动装箱将基本数据类型转化为对应的封装类型。 自动拆箱就是将对象重新转化为基本数据类型,在进行运算的时候自动拆箱。 Integer num = 10;//装箱,相当于建立一个对象。 Integer num = 10; System.out.print(num--);//进行计算时隐含的有自动拆箱 2、对于Integer num=一个数,在自动装箱时对于值从–128

wangxund的博客 1895

强化学习-----DQN(Deep Q-network)

DQN(Deep Q-Network)是一种基于深度学习和强化学习的算法,由DeepMind提出,用于解决离散动作空间下的马尔科夫决策过程(MDP)问题。它是首个成功将深度学习应用于解决强化学习任务的算法之一。DQN,即深度Q网络(Deep Q-network),是指基于深度学习的Q-Learing算法。那什么是Q-leaning?可以看上一篇文章Q-learning是一种经典的强化学习算法,用于解决马尔可夫决策过程(Markov Decision Process,MDP)中的控制问题。

qq_74722169的博客 2万+

30.Labview如何读懂别人程序、修改程序?

之前写过一次教大家的文章,这次教大家如何学习别人的程序,和如何搭建一套适合自己的程序框架。这里事先说明一下:要想搭好程序框架,一定要先把自己的系统,逻辑是什么!这非常重要,是决定你程序的关键因素。废话不多扯,直接说重点。

关注我,更多技术问题欢迎私聊~ 2445

单例模式和string类(装箱拆箱)

(懒汉)单例模式 public class TestDemo { public static void main(String[] args) { People p1 = SingleLeton.getInstance(); People p2 =SingleLeton.getInstance(); System.out.println(p1+" "+p2); } } public class People { } public clas

weixin_47198561的博客 313

单片机:实现FFT快速傅里叶变换算法(附完整源码)

单片机:实现FFT快速傅里叶变换算法(附完整源码)

希望我的博客,能帮上你解决学习中工作中所遇到的问题 1098

Java-自动拆箱/装箱/缓存/效率/String和包装类相互转换

只不过编译器帮我们自动完成了从基本类型到包装类型的转换这一过程,这个机制使得代码编写更加简洁和方便,符合 Java 中面向对象操作的风格,因为在很多面向对象的场景里(比如将值存储在集合中,集合元素要求是对象类型),基本类型需要先转换为包装类型才能参与操作。对于“int1 == integer1” 比较,由于 Integer 与 int 进行 “==” 比较时,Integer 会自动拆箱成 int 类型,相当于两个 int 类型比较,所以结果也是 true。对象,所以是可以转换的),然后提取出其包装的。

weixin_63172268的博客 1660

从0到1用OpenClaw打造酒店收益管理系统:数据整合→AI策略迭代全链路落地实战

本文基于三亚某连锁海景酒店真实项目落地经验编写,系统上线3个月,酒店平均入住率从62%提升至80%,RevPAR(平均可售房收入)提升26%,淡季空置率降低46%,完全覆盖中小酒店全场景收益管理需求。本文配套OpenClaw全量Skill代码、工作流配置文件,可直接复用落地。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 491

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

java常用类(重点是Arrays类,装箱以及拆箱,String,StringBuffer,StringBuilder等)

主要是java的一些常用类的使用方法,更具体的建议还是去看官方的文档。其中的重点的话,个人觉得第一个包装类的拆箱和装箱,String类,StringBUffer类和StringBuilder类以及Arrays类的一些常用方法。

m0_46335449的博客 1061

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

【Java基础】String类型,Math类常用方法,拆箱装箱。

Java基础

qq_46289793的博客 261

VC中sqlite的使用

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

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

string转integer类型_Integer的常用方法和String类型的常用方法

String类型的常用方法Integer常用类的方法基本类型对应的包装类Integer包装类的构造方法int i=2;//定义int型的变量,值为2; Integer x=new Integer(5);//定义包装类对象,值为5 Integer y=new Integer("8");//定义包装类对象,值为8自动装箱和手动装箱就是把基本类型变为包装类使其具有对象的性质:int j=10;//定义一...

weixin_39959349的博客 3590

Java基础(十一)——装箱、String类库(部分)、Date类和用法、BigInteger类和用法、BigDecimal和用法、Object类( ==和equals()方法 )

Java基础(十)——常用类 一、 类库 Java提供了八个基本数据类型的包装类。意味着能把一个变量转换成一个对象。 1、装箱 a、手动装箱 从一个基本数据类型转换成对应包装类称为装箱。 可以看出数值没有变化,但是这里从变量转变成一个对象了。既然是对象,就可以执行内部的方法 这里内部提供了很多方法供我们使用,由于篇幅有限,只讲一部分: b、Integer.parseInt(str)——String 转换成 int 类型的属性 c、手动拆箱 手动拆箱有两种办法。使用静态更好。 d、自动装箱——jdk1

qq_41824825的博客 581

String常用类

String常用类

a123hsbhbsbd的博客 1720

常用类之包装类和String类

什么包装类 类型转换中装箱和拆箱 基本类型和字符串转换 Integer 缓冲区: -128 ~ 127 运行结果 1.2 基本类型和字符串转换代码演示 运行结果 1.3 整数缓存区代码演示 运行结果 2.String类 字符串是常量,创建之后不可改变。修改相当于重写开辟空间,不会修改原来的数据,原有常量失效(变成垃圾) 字符串字面值存储在字符串池中 (方法区中),可以共享 String s = “Hello”;产生一个对象,字符串池中存储 String

qq_60501861的博客 401

java day12 常用类(Object类、包装类、String类)

1、Object类 1.1 toString()方法 public String toString(){…} 返回该对象的字符串表示(表现形式)。 可以根据程序需求覆盖该方法,如:展示对象各个属性值。 2.2.4 equals()方法 public boolean equals(Object obj){…} 默认实现为(this == obj),比较两个对象地址是否相同。 可进行覆盖,比较两个对象的内容是否相同。 equals重写步骤: 比较两个引用是否指向同一个对象。 判断obj是否为

qq_43642864的博客 185

java常用类及常用方法总结

java中一些常用的类及常用类方法的汇总

qq_48917054的博客 4210

Java包装类:什么是包装类对象,什么是装箱拆箱,当编译遇到自动装拆箱发生了什么?(一篇搞定,不能再多了)

什么是包装类?对基本数据类型进行包装,把基本数据类型包装成一个对象 包装类的作用?把基本数据类型变的更强大,以面向对象的思想来去使用这些类型。

一颗剽悍的种子的博客 2173

Java常用类(Arrays类,String类,包装类,Math类,时间类)

Arrays类,String类,包装类,Math类,时间类常用方法

qq_43475983的博客 1204

Java中API常用的类和一些方法 Object类 Arrays类 Integer类 String类

API Object Arrays Integer String类 数组常用的方法,字符串常用的方法

weixin_75111785的博客 255
上一篇: 11.异常处理
下一篇: 13.常用类
cuichen97
博客等级 码龄7年 34粉丝 209原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值