常用类库——String

常用类库——String

概述

String类表示字符串。 Java程序中的所有字符串文字(例如"abc" )都实现为此类的实例。

特性

  • 字符串是不变的; 它们的值在创建后无法更改。因为字符串在内存中本质上是字符数组,数组一经声明大小就不能变了。

  • 因为String对象是不可变的(静态),所以为了节约内存,对于相同内容的字符串,所有引用都指向同一块内存地址。但是,如果使用new方法,则不管内容是否相同都新划分一个内存。

字符串常量池

一个专门存已有字符串引用的空间,位置在堆中。

字符串的创建

凡是使用new方法,就是在堆中创建一个String对象并返回引用。

凡是使用String s="xxx"的方法,就是先查看字符串常量池,如果字符串常量池有引用则返回,否则调用intern()

JDK1.7之前:intern()方法首先检测是否有所需字符串,没有则在方法区创建一个,有则把堆中的对象复制一份存到方法区。然后把方法区对象的引用加入字符串常量池。最后返回这个引用。

JDK1.8之后:intern()方法首先检测是否有所需字符串,没有则在方法区创建一个,把方法区对象的引用加入字符串常量池。有则直接把堆中对象的引用加入字符串常量池。最后返回这个引用。

构造方法

String(byte[] bytes)

String(byte[] bytes, Charset charset)

字符串的拼接

由于使用+运算拼接String会产生大量的中间字符串,这些字符串永远不会被回收,很容易造成内存泄漏。

因此,涉及字符串拼接应使用StringBuffer\StringBuilder,这两个类的方法完全一样,区别是StringBuffer是线程安全的实现,而StringBuffer是线程不安全的实现。

构造方法

StringBuffer()

追加

public StringBuffer append(传入数据)

转String

toString()

参考文章

从字符串到常量池,一文看懂String类

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
OpenCASCADE(开源 CASCADE)是一个开源的CAD(计算机辅助设计)类库,提供了在三维建模和机械制图中常用的一些功能和数据结构。 OpenCASCADE中的常用类库包括了许多用于表示和操作几何实体的类。其中最重要的类之一是TopoDS_Shape,它是表示几何实体的基本类。通过这个类,我们可以创建各种几何实体,包括点、线、曲线、面以及立体体素等。此外,还有TopoDS_Solid、TopoDS_Face、TopoDS_Edge和TopoDS_Vertex等衍生类,用于表示和操作立体实体的不同部分。 除了几何实体的表示,OpenCASCADE还提供了用于几何计算和描述的类库。例如,对于三维模型的算法操作,可以使用BRepAlgoAPI类库。这个类库中提供了各种算法,如布尔运算(例如并、交、差等)、剖面操作、偏移、修补和镜像等。还有BRepBuilderAPI类库,用于创建新的几何实体,并可以在之后进行修改和操作。 此外,OpenCASCADE还提供了用于处理和分析几何实体的类。例如,GeomAPI类库提供了各种几何对象(如点、线、圆、曲线等)的计算和分析功能。这个类库可以进行对象之间的交点计算、对象上的参数计算等。另外,还有算法类库,可以进行几何对象的投影、平移、旋转、缩放等。 总的来说,OpenCASCADE是一个强大的CAD类库,具有丰富的功能和数据结构,可以帮助开发者在三维建模和机械制图中进行各种操作和计算。无论是创建、修改、分析、计算还是模型转换,OpenCASCADE都提供了相应的类库和算法,为CAD开发者提供了便利。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值