黑马程序员 Java常用API

告别玄学调试:手把手教你读懂全志芯片的sys_config.fex配置文件(以i2c配置为例) 本文深入解析全志芯片的sys_config.fex配置文件,以I2C设备驱动为例,详细讲解从引脚定义到驱动加载的全过程。通过实战案例和高级调试技巧,帮助开发者快速掌握硬件配置与内核驱动的联动机制,提升开发效率。 阅读详情

------- android培训、java培训、期待与您交流! ----------

一、String&StringBuffer&StringBuilder
1,String类代表字符串。Java 程序中的所有字符串字面值(如 "abc" )都作为此类的实例实现。字符串是常量;它们的值在创建之后不能更改。String类中每一个看起来会修改String值的方法,实际上都是创建了一个全新的String对象,以包含修改后的字符串内家,而最初的String对象则丝毫未动。字符串缓冲区支持可变的字符串。Java 语言提供对字符串串联符号("+")以及将其他对象转换为字符串的特殊支持。字符串串联是通过 StringBuilder(或 StringBuffer)类及其 append 方法实现的。字符串转换是通过 toString 方法实现的,该方法由 Object 类定义,并可被 Java 中的所有类继承。
2,StringBuffer,线程安全的可变字符序列。一个类似于 String 的字符串缓冲区,但不能修改。虽然在任意时间点上它都包含某种特定的字符序列,但通过某些方法调用可以改变该序列的长度和内容。

可将字符串缓冲区安全地用于多个线程。可以在必要时对这些方法进行同步,因此任意特定实例上的所有操作就好像是以串行顺序发生的,该顺序与所涉及的每个线程进行的方法调用顺序一致。

StringBuffer 上的主要操作是 append 和 insert 方法,可重载这些方法,以接受任意类型的数据。每个方法都能有效地将给定的数据转换成字符串,然后将该字符串的字符追加或插入到字符串缓冲区中。append 方法始终将这些字符添加到缓冲区的末端;而 insert 方法则在指定的点添加字符。

例如,如果 z 引用一个当前内容为 "start" 的字符串缓冲区对象,则此方法调用 z.append("le") 会使字符串缓冲区包含 "startle",而 z.insert(4, "le") 将更改字符串缓冲区,使之包含 "starlet"。

通常,如果 sb 引用 StringBuilder 的一个实例,则 sb.append(x) 和 sb.insert(sb.length(), x) 具有相同的效果。

当发生与源序列有关的操作(如源序列中的追加或插入操作)时,该类只在执行此操作的字符串缓冲区上而不是在源上实现同步。

每个字符串缓冲区都有一定的容量。只要字符串缓冲区所包含的字符序列的长度没有超出此容量,就无需分配新的内部缓冲区数组。如果内部缓冲区溢出,则此容量自动增大。从 JDK 5 开始,为该类补充了一个单个线程使用的等价类,即 StringBuilder。与该类相比,通常应该优先使用 StringBuilder 类,因为它支持所有相同的操作,但由于它不执行同步,所以速度更快
3,StringBuilder,一个可变的字符序列。此类提供一个与 StringBuffer 兼容的 API,但不保证同步。该类被设计用作 StringBuffer 的一个简易替换,用在字符串缓冲区被单个线程使用的时候(这种情况很普遍)。如果可能,建议优先采用该类,因为在大多数实现中,它比 StringBuffer 要快。将 StringBuilder 的实例用于多个线程是不安全的。如果需要这样的同步,则建议使用 StringBuffer。
二、集合类
1,Vector 类可以实现可增长的对象数组。与数组一样,它包含可以使用整数索引进行访问的组件。但是,Vector 的大小可以根据需要增大或缩小,以适应创建 Vector 后进行添加或移除项的操作。 从 Java 2 平台 v1.2 开始,此类改进为可以实现 List 接口,使它成为 Java Collections Framework 的成员。与新 collection 实现不同,Vector 是同步的。Enumeration<E> elements()  返回此向量的组件的枚举。
所有已实现的接口: 
Serializable, Cloneable, Iterable<E>, Collection<E>, List<E>, RandomAccess 
直接已知子类: 
Stack 
2,Enumeration
实现 Enumeration 接口的对象,它生成一系列元素,一次生成一个。连续调用 nextElement 方法将返回一系列的连续元素。

例如,要输出 Vector<E> v 的所有元素,可使用以下方法:

   for (Enumeration<E> e = v.elements(); e.hasMoreElements();)
       System.out.println(e.nextElement());这些方法主要通过向量的元素、哈希表的键以及哈希表中的值进行枚举。枚举也用于将输入流指定到 SequenceInputStream 中。

注:此接口的功能与 Iterator 接口的功能是重复的。此外,Iterator 接口添加了一个可选的移除操作,并使用较短的方法名。新的实现应该优先考虑使用 Iterator 接口而不是 Enumeration 接口。
3,Collection是Collection 层次结构 中的根接口。Collection 表示一组对象,这些对象也称为 collection 的元素。一些 collection 允许有重复的元素,而另一些则不允许。一些 collection 是有序的,而另一些则是无序的。JDK 不提供此接口的任何直接 实现:它提供更具体的子接口(如 Set 和 List)实现。此接口通常用来传递 collection,并在需要最大普遍性的地方操作这些 collection。
4,Iterator是对 collection 进行迭代的迭代器。迭代器取代了 Java Collections Framework 中的 Enumeration。迭代器与枚举有两点不同:

(1)迭代器允许调用者利用定义良好的语义在迭代期间从迭代器所指向的 collection 移除元素。 
(2)方法名称得到了改进。(张老师在视频里说是方法名称改短了,我觉得这个理说得通) 
5,Collections类完全由在 collection 上进行操作或返回 collection 的静态方法组成,例如:sort方法
6,Set是一个不包含重复元素的 collection。更确切地讲,set 不包含满足 e1.equals(e2) 的元素对 e1 和 e2,并且最多包含一个 null 元素。Set各元素对象之间没有指定的顺序
7,List是有序的collection,此接口的用户可以对列表中每个元素的插入位置进行精确地控制。用户可以根据元素的整数索引(在列表中的位置)访问元素,并搜索列表中的元素。

与 set 不同,列表通常允许重复的元素。更确切地讲,列表通常允许满足 e1.equals(e2) 的元素对 e1 和 e2,并且如果列表本身允许 null 元素的话,通常它们允许多个 null 元素。
8,Hashtable类实现一个哈希表,该哈希表将键映射到相应的值。任何非 null 对象都可以用作键或值。

为了成功地在哈希表中存储和获取对象,用作键的对象必须实现 hashCode 方法和 equals 方法。从Java 2 平台 v1.2起,此类就被改进以实现 Map 接口,使它成为 Java Collections Framework 中的一个成员。不像新的 collection 实现,Hashtable 是同步的
9,Properties类表示了一个持久的属性集。Properties 可保存在流中或从流中加载。属性列表中每个键及其对应值都是一个字符串。 一个属性列表可包含另一个属性列表作为它的“默认值”;如果未能在原有的属性列表中搜索到属性键,则搜索第二个属性列表。

因为 Properties 继承于 Hashtable,所以可对 Properties 对象应用 put 和 putAll 方法。但不建议使用这两个方法,因为它们允许调用者插入其键或值不是 String 的项。相反,应该使用 setProperty 方法。如果在“不安全”的 Properties 对象(即包含非 String 的键或值)上调用 store 或 save 方法,则该调用将失败。类似地,如果在“不安全”的 Properties 对象(即包含非 String 的键)上调用 propertyNames 或 list 方法,则该调用将失败。 此类是线程安全的:多个线程可以共享单个 Properties 对象而无需进行外部同步。

三、其它

1,System 类包含一些有用的类字段和方法。它不能被实例化。

在 System 类提供的设施中,有标准输入、标准输出和错误输出流;对外部定义的属性和环境变量的访问;加载文件和库的方法;还有快速复制数组的一部分的实用方法。
2,Runtime,每个 Java 应用程序都有一个 Runtime 类实例,使应用程序能够与其运行的环境相连接。可以通过 getRuntime 方法获取当前运行时。

应用程序不能创建自己的 Runtime 类实例。 
3,Date 表示特定的瞬间,精确到毫秒。

在 JDK 1.1 之前,类 Date 有两个其他的函数。它允许把日期解释为年、月、日、小时、分钟和秒值。它也允许格式化和解析日期字符串。不过,这些函数的 API 不易于实现国际化。从 JDK 1.1 开始,应该使用 Calendar 类实现日期和时间字段之间转换,使用 DateFormat 类来格式化和解析日期字符串。Date 中的相应方法已废弃。
4,DateFormat 是日期/时间格式化子类的抽象类,DateFormat 提供了很多类方法,以获得基于默认或给定语言环境和多种格式化风格的默认日期/时间 Formatter。格式化风格包括 FULL、LONG、MEDIUM 和 SHORT。DateFormat 可帮助进行格式化并解析任何语言环境的日期。对于月、星期,甚至日历格式(阴历和阳历),其代码可完全与语言环境的约定无关。
5,Calendar 类是一个抽象类,它为特定瞬间与一组诸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等 日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法,瞬间可用毫秒值来表示。
6,public class Timer  extends Object一种工具,线程用其安排以后在后台线程中执行的任务。可安排任务执行一次,或者定期重复执行。

与每个 Timer 对象相对应的是单个后台线程,用于顺序地执行所有计时器任务。计时器任务应该迅速完成。如果完成某个计时器任务的时间太长,那么它会“独占”计时器的任务执行线程。因此,这就可能延迟后续任务的执行,而这些任务就可能“堆在一起”,并且在上述不友好的任务最终完成时才能够被快速连续地执行。

对 Timer 对象最后的引用完成后,并且 所有未处理的任务都已执行完成后,计时器的任务执行线程会正常终止(并且成为垃圾回收的对象)。但是这可能要很长时间后才发生。默认情况下,任务执行线程并不作为守护线程 来运行,所以它能够阻止应用程序终止。如果调用者想要快速终止计时器的任务执行线程,那么调用者应该调用计时器的 cancel 方法。

如果意外终止了计时器的任务执行线程,例如调用了它的 stop 方法,那么所有以后对该计时器安排任务的尝试都将导致 IllegalStateException,就好像调用了计时器的 cancel 方法一样。

此类是线程安全的:多个线程可以共享单个 Timer 对象而无需进行外部同步。

此类不 提供实时保证:它使用 Object.wait(long) 方法来安排任务。

实现注意事项:此类可扩展到大量同时安排的任务(存在数千个都没有问题)。在内部,它使用二进制堆来表示其任务队列,所以安排任务的开销是 O(log n),其中 n 是同时安排的任务数。

实现注意事项:所有构造方法都启动计时器线程。

7,public abstract class TimerTaskextends Objectimplements Runnable
由 Timer 安排为一次执行或重复执行的任务。

8,Math 类包含用于执行基本数学运算的方法,如初等指数、对数、平方根和三角函数。 
9,Random此类的实例用于生成伪随机数流。此类使用 48 位的种子,使用线性同余公式对其进行了修改。

原理之(〇)3D Gaussian Splatting 数学原理与推导 3D Gaussian Splatting源于EWA的理论基础,本文重点从EWA模型出发,详细推导3D GS中的数学原理,加深对鱼眼相机畸变场景下的理解。 阅读详情

相关推荐

俄罗斯方块 C++控制台版

一、创建方块 wstring tetromino[7]; tetromino[0].append(L"..X...X...X...X."); // Tetronimos 4x4 tetromino[1].append(L"..X..XX...X....."); tetromino[2].append(L".....XX..XX....."); tetromino[3].append(L"..X..XX..X......"); tetromino...

一只大鸽子的博客 1622

黑马点评使用Apifox进行接口测试(以导入更新店铺为例、详细图解)

经过自己摸索尝试也是成功进行了接口测试,希望这篇博客能对你有帮助

2301_80558092的博客 2334

OPNET卫星节点仿真避坑指南:为什么你的STK轨道文件导入后位置不对?

本文深入解析OPNET卫星节点仿真中STK轨道文件导入后位置异常的常见问题,揭示坐标系差异(ECI与ECF)、时间基准不匹配等关键因素。通过修改.SA文件头标识、统一时间基准等解决方案,帮助工程师避免仿真失真,提升卫星通信系统仿真的准确性。特别适用于STK与OPNET协同工作的卫星网络仿真场景。

weixin_30335575的博客 599

黑马程序员—API

------- android培训、java培训、期待与您交流! ---------- 一、String&StringBuffer&StringBuilder 1,String类代表字符串。Java 程序中的所有字符串字面值(如 "abc" )都作为此类的实例实现。字符串是常量;它们的值在创建之后不能更改。String类中每一个看起来会修改String值的方法,实际上都是创建了一个全新的Str

Andy的乐园 570

Mumax3代码模板:从基础设置到材料参数优化

本文提供了一份详尽的Mumax3微磁学模拟代码模板,从基础网格设置、边界条件到核心材料参数(如钴的Msat、Aex、Ku1)配置与优化均有涵盖。文章深入解析了特征长度计算、初始化方法、弛豫与动力学模拟流程,并分享了并行计算与参数扫描等效率提升技巧,旨在帮助用户快速上手并优化模拟工作流。

moss5的博客 702

DataEaseV2.9 本地开发环境搭建与调试指南

本文详细指导如何搭建DataEase V2.9的本地开发环境,涵盖从软件准备、源码获取、数据库初始化到在IDEA中配置、编译和调试的全过程。重点解决了本地运行环境的关键配置与常见问题,帮助开发者高效开启DataEase的定制化开发与二次开发。

weixin_29290863的博客 141

黑马点评使用Apifox导入接口测试合集(持续更新、详细图解)

本博客将持续更新记录黑马点评所有接口测试的导入(学到哪更新到哪)

2301_80558092的博客 2027

Tesla V100 在 Windows 下的驱动选择与模式切换实战

本文详细解析了Tesla V100专业计算卡在Windows系统下的驱动安装与模式切换实战。针对设备管理器识别但任务管理器“隐身”的常见问题,文章指出其默认TCC模式为纯计算设计,并指导用户正确选择数据中心或GRID驱动。核心在于通过注册表修改或驱动选择,在高效的TCC模式与便于监控的WDDM模式间切换,同时提供了nvidia-smi命令行监控与AI框架测试等稳定使用方案。

weixin_29247219的博客 1804

一、 常用API08(笔记)

API文档

姷礼的博客 694

低功耗 AI 人体存在检测系统:智能照明与安防的高效解决方案

低功耗 AI 人体存在检测系统通过 “ESP32-C3 主控 + HX7110 AI 模块” 的硬件组合,搭配双重检测算法与深度睡眠机制,既解决了传统检测方案的误报问题,又满足了长时间低功耗运行需求。系统接线简单、代码可直接移植,可快速集成到智能照明、安防监控等物联网设备中,具备广泛的应用前景。

weixin_42300449的博客 224

前端Three.js面试题及参考答案

渲染循环(Render Loop)是 Three.js 中一个非常重要的概念,它是一个不断重复执行的过程,用于更新和渲染 3D 场景。在每次循环中,渲染循环会更新场景中的对象状态,如位置、旋转、缩放等,然后使用渲染器将更新后的场景渲染成 2D 图像显示在屏幕上。通过不断地重复这个过程,就可以实现动画效果。渲染循环的核心作用是确保场景能够实时更新,给用户带来流畅的视觉体验。如果没有渲染循环,场景将是静态的,不会有任何变化。只有通过不断地更新和渲染,才能让场景中的对象动起来,实现各种动画效果。

大模型大数据攻城狮的专栏 2721

黑马接口文档说明

黑马商城项目接口文档 轮播图接口 接口地址:/api/getlunbo 请求方式:GET 参数:无 数据格式: { "status":0, "message":[ { "id":1, "url":"http://www.itcast.cn/subject/phoneweb/index.html", "img":"http://m.itheima.com/images/slidead/mobile/20191213180241750x410.jpg" },

lzh的博客 4927

RandLA-Net Tensorrt 推理 c++

RandLA-Net 实现 Tensorrt 部署.

J。 1108

黑马程序员—java基础—常用API

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------   API贯穿java学习的始末,使用API正是面向对象编程的一种体现,整理一些常用的API,供以后复习方便 关于Eclipse的使用因为贯穿在每一天的代码练习中,这里就不做记录。 API的概述 Java API   就是Java提供给我们使用的类,这些类将底层的实现封装了起来,

Chenhaiyang__ith的博客 879

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

visio安装包

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

黑马程序员Java之常用API

------- android培训、java培训、期待与您交流! ---------- Import - 导入:类名称变长,写起来很麻烦。为了简化,使用了一个关键字:import,可以使用这个关键字导入指定包中的类。记住:实际开发时,到的哪个类就导入哪个类,不建议使用*. import packa.*;//这个仅仅是导入了packa当前目录下的所有的类。不包含子包。 imp

Zero_2的博客 606

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

黑马程序员——Java常用API

java常用API: Scanner 扫描器 (理解)         创建:                 Scanner scanner = new Scanner(System.in);         方法:                 nextInt() -- 将输入信息的下一个标记扫描为一个 int。                         如果输入非in

qq_32012973的博客 315

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

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

黑马程序员_Java常用类API

-------    android培训、java培训、期待与您交流! ----------    API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件的以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。   Java中用String类进行描述、对字符串进行了对象的封

bearzw的博客 755

黑马程序员-常用Java API介绍

——-android培训java培训期待与您交流!———-String类介绍 字符串是一个特殊的对象。 字符串一旦初始化就不可以被改变。 Java 程序中的所有字符串字面值(如 “abc” )都作为此类的实例实现。 String s1 = "abc"与String s2 = new String("abc");s1和s2都是定义一个字符串为”abc”的对象变量。s1是一个类型变量,”abc”是一个对

jyhonggang13848的专栏 457

黑马程序员-Java基础:常用API

——Java培训、Android培训、iOS培训、.Net培训、期待与您交流! —-API中常用类总结一、Object类 Object类可以说是所有类的”上帝”,所谓上帝的含义就是造万物,Java中所有的类都直接或间接继承自Object类,那么了解Object类中的方法有助于理解Java中所有类的共性。重点方法介绍: <1>.boolean equals(Object obj) Java中所有

BlackHorseKevin的博客 1309

黑马程序员_Java基础常用API

1、Object Object类: 它是所有类的超类 需要掌握的方法: public String toString():返回该对象的字符串表示 public boolean equals(Object obj): 指示其他某个对象是否与此对象“相等”。 (了解)protected void finalize(): 用来释放 对象垃圾   (了解)public final Clas

a297056007的专栏 398

黑马程序员java-常用API

常用API的构造函数都用private修饰,因此无法实例化,但是可以直接使用类名和static方法。 Object 所有类都直接或者间接的继承该类(因此子类的构造方法默认访问父类的无参构造方法) toString重写 package objectClass; public class demo { public static void main(String[] args) { Student a=new Student("aa",11); System.out.p

weixin_42093700的博客 237

黑马程序员——Java基础——API常用类

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- System类: package cn.fuxi._01system; /** * System :类中的方法都是静态的 * 常见方法: * long currentTimeMillis();获取当前时间的毫秒值,可以通过此方法检测程序的执行时间. * * Properties

maidou51的博客 532

《黑马程序员》java笔记->常用API

一、System 详细信息见JDK1.6 1、System:类中的方法和属性都是静态的。 out:标准输出,默认是控制台。 in:标准输入,默认是键盘。 描述系统一些信息。 2、获取系统属性信息:public static Properties getProperties() 其中Properties是继承了Hashtable的子类,所以也就实现了Map。 其中存储的是系统信

勤能补拙 697

黑马程序员——Java API-常用类

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

skyHeXin的博客 661

黑马程序员-Java基础:常用API

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- 常用API总结 一、Object类  Object类可以说是所有类的”上帝”,所谓上帝的含义就是造万物,Java中所有的类都直接或间接继承自Object类,那么了解Object类中的方法有助于理解Java中所有类的共性。 重点方法介绍:  (1)boolean equals(O

Visen_yz的博客 489

黑马程序员(四)Java中常用的API

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- API 定义:指的是应用程序编程接口,,Java中的API指的是JDK中提供的各种功能的Java类 String     定义:String表示字符串,所谓字符串,就是一连串的字符;       构造方法:A:String s = new String();  B:String

HGY_1992的博客 514
上一篇: 黑马程序员 Java集合框架
下一篇: 黑马程序员 Java IO操作
focusjava
博客等级 码龄14年 127粉丝 528原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值