java string 数据结构_数据结构---Java---String、StringBuilder、StringBuffer

1、概述

1.1  String:不可变字符串

public final class String implements java.io.Serializable, Comparable, CharSequence {

//final的字符数组

private final char value[];

}

1.2  StringBuilder:可改变的字符串,线程不安全

public final class StringBuilder extends AbstractStringBuilder implements java.io.Serializable, CharSequence{

//调用父类的构造器,再调用自己的append方法

public StringBuilder(String str) {

super(str.length() + 16);

append(str);

}

@Override

public StringBuilder append(Object obj) {

return append(String.valueOf(obj));

}

}

abstract class AbstractStringBuilder implements Appendable, CharSequence {

char[] value;

AbstractStringBuilder(int capacity) {

value = new char[capacity];

}

}

StringBuffer:可改变的字符串,线程安全

public final class StringBuffer extends AbstractStringBuilder implements java.io.Serializable, CharSequence{

//调用父类构造器,再调用自己的append方法

public StringBuffer(String str) {

super(str.length() + 16);

append(str);

}

@Override

public synchronized StringBuffer append(String str) {

toStringCache = null;

super.append(str);

return this;

}

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/288908.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

adb logcat 查看日志

使用 logcat 命令 查看和跟踪系统日志缓冲区的命令logcat的一般用法是&#xff1a; [adb] logcat [<option>] ... [<filter-spec>] ... 下文介绍过滤器和命令选项&#xff0c;详细内容可参见Listing of logcat Command Options。 可以在开发机中通过远程shell的方式…

小程序 - 学习笔记

一、小程序文档笔记 默认开发目录 开发目录解析 1.  app.js、app.json、app.wxss 这三个文件必须有不能删掉。 一个小程序主体部分由这三个文件组成&#xff0c;而且必须放在项目的根目录 js后缀的是脚本文件&#xff0c;调用小程序框架提供的 API—— API 文档json后缀的文件…

Android Studio开发基础之Service

1、Service的使用 Activity可以呈现一个用户界面,但是Service确实运行在后台,新建一个Myservice.java,会在AndroidManifest中自动配置<Service>标签。 <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://…

linux之sudo apt-get install **** 是到哪里下载软件以及下载到哪里去了

1 问题 我们平时在linux系统上更新软件,一般都是执行 sudo apt-get install 软件名 为什么这个命令就能下载软件了呢? 下载的软件放到哪里去了呢? 2 sudo apt-get install是到哪里下载软件 apt-get,是一条linux命令,适用于deb包管理式的操作系统 比如我的ubuntu上面有…

【C语言简单说】九:输入

到了下午了&#xff0c;上着班发现没啥事情做… 又来码博客了 ↖(▔&#xff3e;▔)↗ 这一小节我们来说说输入吧。突然想总结以下if语句的&#xff0c;结果发现&#xff0c;还有一个输入没说&#xff1b;之前是不是说过了输出&#xff1f;就是printf这个&#xff0c;现在还有…

java 优秀源码_想要快速进阶Java架构师?这份超强(长)学习计划单 请签收!...

优秀工程师的成长之路就是一条不断打怪升级之路的“修仙之路”&#xff01;而Java程序员一向比别人更难&#xff0c;如果说大家都在修仙的话&#xff0c;java程序员简直神似“剑修”&#xff0c;入行枯燥精通难&#xff0c;要想变得强大&#xff0c;需要能力也需要运气&#xf…

Web Api如何传递POST请求

这里记录一次Web Api传递post请求的例子&#xff0c;由于使用了默认工程的例子&#xff0c;方法名的参数值标记头为FromBody的形式&#xff0c;如下图所示的调用&#xff1a; 调用方式&#xff1a; 那么如果要两个以上的参数如何去实现&#xff0c;这种方式是不行的&#xff0c…

java 不能反序列化_不能将“Java.Lang.Studio”实例反序列化到StaskObl对象令牌中

我收到下面的错误消息,有人能帮助或建议如何最好地调试它吗?无法反序列化的实例java.lang.String超出起始值的对象[来源:(pushbackinputstream)处的令牌;行:1,列:37610](通过参考链:CopyToList[[产品] ] -gt;java. U.L.AyayList[ 23 ] -&G.M.Mult.产品[“价格”] -& c…

Android Studio开发基础之启动Service,并通过从Activity向Service传递数据

本实例演示启动Service&#xff0c;并通过从Activity向Service传递数据&#xff0c;新建一个Service&#xff0c;并敲如下代码&#xff1a; package com.example.lhb.startservice;import android.app.Service; import android.content.Intent; import android.os.IBinder; imp…

AOT和单文件发布对程序性能的影响

前言这里先和大家介绍一下.NET一些发布的历史&#xff0c;以前的.NET框架原生并不支持最终编译结果的单文件发布&#xff08;需要依赖第三方工具&#xff09;&#xff0c;我这里新建了一个简单的ASP.NET Core项目&#xff0c;发布以后的目录就会像下图这样&#xff0c;里面包含…

均分纸牌(经典贪心)

1 题目描述 有N堆纸牌,编号分别为1,2,…,N。每堆上有若干张,但纸牌总数必为N的倍数。可以在任一堆上取若干张纸牌,然后移动。 移牌规则为:在编号为1堆上取的纸牌,只能移到编号为2的堆上;在编号为N的堆上取的纸牌,只能移到编号为N−1的堆上;其他堆上取的纸牌,可以移…

Some projects cannot be imported because they already exist in the workspace

1、Some projects cannot be imported because they already exist in the workspace2、Some projects were hidden because they exist in the workspace directory有时候eclipse或者myeclipse导入项目的时候会发生上面两个错误&#xff0c;IDE不允许我们导入。具体原因是在ID…

shell变量/环境变量和set/env/export用法_转

转自&#xff1a;shell环境变量以及set,env,export的区别 一.shell环境变量的分类以及set env export的区别: set:显示(设置)shell变量&#xff0c;包括的私有变量以及用户变量。不同类的shell有不同的私有变量 bash,ksh,csh每中shell私有变量都不一样。 env:显示(设置)用户变…

【C语言简单说】十:小结

([]!!) ㄟ(≥◇≤)ㄏ(&#xffe3;ε(#&#xffe3;) ∑( △ |||)︴ 一言不合发表情。。。 这节我们来做一个小菜单&#xff0c;然后判断我们选择的是啥东西&#xff0c;好了上代码&#xff1a; #include<stdio.h> #include<stdlib.h> int main() {int a1;prin…

Android Studio开发基础之动态注册与注销BroadcastReceiver

1、New→Other→BroadcastReceiver package com.example.lhb.startservice;import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.widget.Toast;public class MyReceiver extends BroadcastReceiver {pu…

python每行输出5个数_python打印杨辉三角及输出第m行第k个数

1.打印杨辉三角及输出第m行第k个数1.计算到m行&#xff0c;打印出k项第m行有m项&#xff0c;m是正整数&#xff0c;因此k一定不会大于m&#xff0c;这个需求需要保存m行的数据&#xff0c;那么可以使用一个嵌套结构[[],[],[]]mint(input(行>>>))kint(input(第几个数&g…

无法识别的属性“targetFramework”。请注意属性名称区分大小写。

asp.net部署出错(targetFramework无法识别) 今天尝试着部署了一个基于Framework4.0的web项目&#xff0c;途中发生了一点小小的意外。报的错误是Web.Config配置文件中的 targetFramework属性无法识别。后来查了一下发现在站点中部署的Web使用的是基于.Net Framework2.0的Applic…

java解析xml生成表格_JAVA读取XML文件并解析 以及 JAVA生成文本文件输出

废话不多说&#xff0c;直接上代码及说明吧&#xff01;package Dao;import java.io.File;import java.util.ArrayList;import java.util.List;import javax.xml.parsers.DocumentBuilder;import javax.xml.parsers.DocumentBuilderFactory;import org.w3c.dom.Document;import…

.NET点滴:说说Middleware构造中获取不到Scoped服务的问题

今天小桂问我&#xff1a;“为什么中间件的构造函数里不能使用scope的生命周期类型啊&#xff1f;”&#xff0c;那就用实例来得到答案吧&#xff0c;先看小桂说的情况&#xff0c;是报错的&#xff1a;var builder WebApplication.CreateBuilder(args);builder.Services.AddS…

模式识别之分类---数学贝叶斯方法

http://blog.sina.com.cn/s/blog_6163bdeb0102ehh1.html http://www.zdh1909.com/html/Verilog/29941.html