String、StringBuffer、StringBuilder区别,int与integer的区别

java之integer、int、string java之integer、int、string int是java的基本数据类型 string是一个引用类型,字符串 integer是java为int提供的包装类。 int的默认值为0,而Integer的默认值为null 1.在integer中我们需要获取integer的最大值和最小值 因为integer是int的包装类所以范围为-128到127 2.integer是一个引用类型的包装类可以创建对象,或者将int和string变量进行转化成为integer 这里需要注意的是传入新的对象的字符串内容为整数,不能 阅读详情

String、StringBuffer、StringBuilder区别:

  • String:字符串常量,不可变对象,每一次对String进行修改都相当于生成了一个新的String对象,然后将指针指向新的String对象,如果经常改变,则会频繁GC(Garbage Collection,垃圾回收),影响速度
  • StringBuffer:字符串变量(线程安全),修改不会生成新对象,有append()、insert()方法
  • StringBuilder:字符串变量(非线程安全),效率比StringBuffer高,但是不保证线程安全,所以尽量在单线程中使用

append():在字符串结尾加入

insert():在字符串指定位置加入,如:

StringBuilder strb=new StringBuilder("123");
System.out.println(strb);//输出:123
strb.insert(1, 'c');
System.out.println(strb);//输出:1c23

特殊情况: 当字符串拼接的各个部分来自一个对象的时候,String的效率是比StringBuffer高的,比如:

String S1 = “This is only a” + “ simple” + “test”;
StringBuffer Sb = new StringBuilder(“This is only a”).append(“ simple”).append(“ test”);

原因是String S1 = “This is only a” + “ simple” + “test”;在JVM眼里与String S1 = “This is only a simple test”;并没有什么区别

 

int与integer的区别:

  • Integer是int的包装类,int则是java的一种基本数据类型
  • Integer变量必须实例化后才能使用,而int变量不需要
  • Integer实际是对象的引用,当new一个Integer时,实际上是生成一个指针指向此对象,而int则是直接存储数据值
  • Integer的默认值是null,而int是0

延伸:

  • 由于Integer变量实际上是对一个Integer对象的引用,所以两个通过new生成的Integer变量永远是不相等的(因为new生成的是两个对象,其内存地址不同)
  • Integer变量和int变量比较时,只要两个变量的值是向等的,则结果为true(因为包装类Integer和基本数据类型int比较时,java会自动拆包装为int,然后进行比较,实际上就变为两个int变量的比较)
  • 非new生成的Integer变量和new Integer()生成的变量比较时,结果为false。(因为非new生成的Integer变量指向的是java常量池中的对象,而new Integer()生成的变量指向堆中新建的对象,两者在内存中的地址不同)
  • 对于两个非new生成的Integer对象,进行比较时,如果两个变量的值在区间-128到127之间,则比较结果为true,如果两个变量的值不在此区间,则比较结果为false(因为java对常量池中-128~127之间的数会有缓存,再次使用时就不会再次创建而是从常量池中取出)
     
synchronize关键字: 1、java中==和equals和hashCode的区别 2、int与integer的区别 3、String、StringBuffer、StringBuilder 1、java中==和equals和hashCode的区别 基本数据类型的==比较的值相等. 类的==比较的内存的地址,即是否是同一个对象,在不覆盖equals的情况下,同比较内存地址,原实现也为 == ,如String等重写了equals方法. hashCode也是Object类的一个方法。返回一个离散的int型整数。在集合类操作中使用,为了提高查询速度。(HashMap,HashSet等比较... 阅读详情

相关推荐

Mid-360激光雷达与Fast-LIO2实战:从环境搭建到实时点云建图

本文提供Livox Mid-360激光雷达与Fast-LIO2算法从零开始的实战教程。详细介绍了在Ubuntu和ROS环境下进行系统配置、依赖安装、硬件连接与网络设置的完整流程,并指导如何运行算法实现实时点云建图与可视化,最后总结了关键参数调优与常见问题排查方法。

weixin_29300241的博客 152

String字符串、Integer等常用方法总结

String: 各类型数组转为String: 构造方法: 将指定字节数组转为字符串 String(byte[] bytes)           通过使用平台的默认字符集解码指定的 byte 数组,构造一个新的 String。 String(byte[] bytes, Charset charset)           通过使用指定的 charset 解码指定的 byte...

Sunmeok的博客 1633

Flotherm XT学习历程

大家好,通过半年的热仿真软件学习使用,最终发现最好用,最好上手的软件就是Flotherm XT,对新手非常友好,但由于软件近几年才发布,网上教程非常少,后面我将在这里持续分析软件使用心得,和大家一起学习。

xiaoredred的博客 6263

【零基础学Java】第十八篇 包装类1(Integer,String)

🔥本节主要介绍了包装类的种类,Integer和String类型的用法。

m0_54024106的博客 503

老N卡福音:GT1030/GTX1050在MacOS Ventura 13.2上的完整驱动指南(附实测截图)

本文详细介绍了如何在MacOS Ventura 13.2上通过OCLP工具链驱动GT1030和GTX1050等老款NVIDIA显卡,涵盖硬件兼容性验证、BIOS设置、OpenCore配置、驱动安装及性能测试全流程。实测数据显示,这些基于Pascal和Maxwell架构的显卡在当代MacOS系统中仍能发挥实用价值,为老N卡用户提供完整解决方案。

weixin_30832143的博客 633

【基金量化研究系列】基金绩效归因模型——Brinson多期归因模型

文章目录1. 引言2. Brinson单期归因模型2.1 模型框架2.2 公式推导3. Brinson多期归因模型3.1 模型框架3.2 公式推导4. Brinson模型的应用场景4.1 基金组合归因4.2 基金经理能力刻画4.3 大类资产配置应用5. 模型的实现与实证案例研究写在最后 1. 引言 在 2. Brinson单期归因模型 2.1 模型框架 wp wb rp 组合收益:wp rp 择股收益:wb rp rb 择时收益:wp rb 基准收益:wb rb 2.2 公式推

Mikey_Sun的博客 1万+

int和Integer的区别与String,StringBuffer与StringBuilder的区别

int和Integer的区别 1、Integer是int的包装类,int则是java的一种基本数据类型 2、Integer变量必须实例化后才能使用,而int变量不需要 3、Integer实际是对象的引用,当new一个Integer时,实际上是生成一个指针指向此对象;而int则是直接存储数据值 4、Integer的默认值是null,int的默认值是0 延伸: 关于Integer和int的比较 1、由...

qq_42920440的博客 1243

STM32F4驱动ES8388音频芯片的I²S时钟与DMA流设计

I²S(Inter-IC Sound)是一种广泛应用于嵌入式音频系统的同步串行总线协议,其核心在于精确的时钟同步与稳定的数据流传输。理解I²S时钟树结构(含MCLK、SCLK、WS生成逻辑)和分频机制,是保障CD级音质(如44.1kHz/16bit)的基础;而DMA双缓冲技术则解决了实时音频播放中数据供给连续性的关键工程问题。在STM32F4等Cortex-M4平台中,需协同配置PLLI2S锁相环、I²S预分频寄存器(I2SxPR)及DMA循环模式,同时兼顾ES8388等Codec芯片的I²C初始化时序与寄

weixin_35390379的博客 244

Integer的比较==和String的比较==总结

坑: Integer的值为-128-127之间的时候就会自动的从Integer的缓存(IntegerCache)中去取,如果超过这个范围就会新建一个Integer的对象。   所以a==b(a=10,b=10)为true,c==d(c=150,d=150)为false。 nteger的值为-128-127的时候用==会返回true 不再这个区间要用equals才会返回true ...

王侯将象的博客 2598

【photoshop CEP插件】 OCR文字识别

一个photoshop CEP插件OCR文字识别 APP_ID = 17594920 API_KEY = puMFv72xqCYV2jdcSlXgtFvm SECRET_KEY = v5XHtqKXEm0p6ehPZrXIXrftDvocyv1m /*********************************************/ 百度OCR 密钥由Greless@qq.com 提供, 用户可自行前往https://ai.baidu.com/docs#/Auth/top 申请。 通用文字识别..

Greless的后花园 6491

OpenClaw插件配置错误修复完全指南

插件文件名是插件目录结构正确package.json配置正确OpenClaw的插件系统还在快速迭代,偶尔会遇到这种配置问题。看错误信息检查配置文件检查实际文件对比差异修复问题大部分问题都能解决。查看官方文档:https://openclaw.ai/docs提Issue:https://github.com/openclaw/openclaw/issues加入Discord社区求助快速修复命令汇总。

Maynor的博客 4096

java中int和integer,String,StringBuffer,StringBuilder的区别

java中int和integer区别 int 是基本类型,直接存数值 integer是对象,用一个引用指向这个对象 Java中int和Integer关系是比较微妙的。关系如下:   1.int是基本的数据类型;   2.Integer是int的封装类;   3.int和Integer都可以表示某一个数值;   4.int和Integer不能够互用,

筱进GG 954

javafx结合Scene Builder自定义fxml实现漂亮的登录界面、自定义最小化、关闭按钮

本节主要介绍了如何结合Scene Builder工具来制作一个好看又漂亮的登录界面,以及介绍了如何在程序中调用生成界面文件fxml文件,如何获取到fxml文件中的组件等,并演示登录、最小化和关闭等功能。

c1007857613的专栏 5222

String和StringBuffer、StringBuilder的区别,int 和 Integer的区别,ArrayList、LinkedList、Vector 的区别

文章目录1.String和StringBuffer、StringBuilder的区别是什么?String为什么是不可变的?2.自动装箱与拆箱3.int 和 Integer 有什么区别?4.Java 为每个原始类型提供了哪些包装类型?5.ArrayList、LinkedList、Vector 的区别? 1.String和StringBuffer、StringBuilder的区别是什么?String为什么是不可变的? StringBuffer 仅能获得10%~15% 左右的性能提升,但却要冒多线程不安全的风险。

刘顺顺的博客 266

VC中sqlite的使用

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

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

Java基础部分:基本的类,String,stringbuffer,stringbuilder的区别

int与Integer的不同点? (1)int类基本数据类型,而Integer为引用数据类型 (2)int占4个字节,用于存储int类型的值,  Integer占4个字节,用于存储Integer对象的内存地址 (3)作为成员变量时,int的默认值为0,Integer的默认为null (4)Integer使用null表示没有创建Integer对象,使用0代表已创建对象,值为0 Intege...

wyqwilliam的博客 311

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

java学习13-StringBuffer Character Integer,二分查找,冒泡排序,选择排序原理

1.StringBuffer (1)用字符串做拼接,比较耗时并且也耗内存,而这种拼接操作又是比较常见的,为了解决这个问题,Java就提供了 一个字符串缓冲区类。StringBuffer供我们使用。 (2)StringBuffer的构造方法 A:StringBuffer() B:StringBuffer(int size) C:StringBuffer(String str...

a5421901的专栏 177

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

java基础(Stirng,StringButtfer,StringBuilder,int Integer)

其实在安卓中对于java需求没有很复杂,但是现在面试看中java基础很多,例如反射,等这些安卓上实际用的少,很少,但是你想真心懂java,我还是建议大家把java基础在看看,要看培训后台那种java基础,这样你收获会很多的。下面我说一下String,这个我们比较常用String:1.String类的概念和不变性API中的String类的描述,发现String 类代表字符串Java 程序中的所...

u011553874的博客 214

(Java面试题)面向对象编程有哪些特点?String和StringBuffer有什么区别?Integer和int有什么区别?

Java复习题 1、面向对象编程的特点。 封装:数据和代码捆绑在一起,避免外界干扰和不确定性访问。封装可以使得代码模块化。 继承:让某种类型对象获得另一个类型对象的属性和方法。继承可以扩展已存在的代码 多态:同一事物表现出不同事物的能力,即向不同对象发送同一消息,不同的对象在接收时会产生不同的行为(重载实现编译时多态,虚函数实现运行时多态)。多态的目的则是为了接口重用 2、Stri...

程序媛乐园 938

Integer和int及String的总结

Integer和int及String的总结 秉承着总结发表是最好的记忆,我把之前遇到的问题在这里总结和大家分享一下,希望大家共同进步: 一.Integer和int 首先说下自动拆装箱,基本数据类型转换为包装类型的过程叫装箱,反之则是拆箱,其中最特殊也是面试经常遇到的是Integer,下面总结说明,话不多说,show the code,先猜一下下面这6个题的答案: 1 ...

Orbita_wangtao 657

2020/09/05 Object常用方法,String 、StringBuffer 与 StringBuilder 区别,Vector,ArrayList, LinkedList区别

1.Object常用方法 clone( ) 创建并返回此对象的一个副本; equals( ) 指示某个其他对象是否与此对象“相等” hashCode( )返回该对象的哈希码值 notify( )唤醒在此对象监视器上等待的单个线程 notifyAll( ) 唤醒在此对象监视器上等待的所有线程 toString( ) 返回该对象的字符串表示 wait( )导致当前的线程等待,直到其他线程调用此对象的 notify() 方法或 notifyAll() 方法 finalize( )当垃圾回收...

tayloramanda的博客 187

String StringBuffer和 StringBuild

String 对象,以及方法。 StringBuffer StringBuilder StringBuffer: 字符串缓冲类:程安全的可变字符序列。一个类似于 String 的字符串缓冲区 StringBuilder: 一个可变的字符序列。此类提供一个与 StringBuffer 兼容的 API,但不保证同步.线程不安全。 String 和 StringBuffer Strin...

wai___wai的博客 158

Java语言基础day11(StringBuffer类,Integer类)

StringBuffer类概述 我们如果对字符串进行拼接操作,每次拼接,都会构建一个新的String对象,既耗时,又浪费空间。而StringBuffer就可以解决这个问题。 他是一个长度可变的字符容器,可以存储多个字符,可以不断的往容器中追加内容。 线程安全的可变字符序列。一个类似于 String 的字符串缓冲区,但不能修改。但通过某些方法调用可以改变该序列的长度和内容。 StringBuff...

weixin_43306403的博客 171

stringbuffer 排序以及包装类integer

虽然字符串有个concat拼接功能,但是由于字符串是常量,它在方法区的静态区内储存,因此每次拼串都会创建新的对象,因此就有了stringbuffer这个类。 StringBuffer的功能 public StringBuffer deleteCharAt(int index):删除指定位置的字符,并返回本身 public StringBuffer delete(int start,int e...

Hgrtea的博客 274

JAVA基础

Java中的String,StringBuilder,StringBuffer三者的区别Java基础之int和Integer有什么区别

吃瓜群众的博客 211

java integer string_java基础(Stirng,StringButtfer,StringBuilder,int Integer)

其实在安卓中对于java需求没有很复杂,但是现在面试看中java基础很多,例如反射,等这些安卓上实际用的少,很少,但是你想真心懂java,我还是建议大家把java基础在看看,要看培训后台那种java基础,这样你收获会很多的。下面我说一下String,这个我们比较常用String:1.String类的概念和不变性API中的String类的描述,发现String 类代表字符串Java 程序中的所有字符...

weixin_36118752的博客 154
上一篇: CountDownLatch的原理和并行性
下一篇: 什么是内部类?内部类的作用;什么是抽象类,抽象类和接口
Nobody_else_
博客等级 码龄10年 51粉丝 32原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值