stringbuilder

Java开发工程师常见面试题01

送分小仙女□ 提交于 2019-11-30 04:19:50
Java 基础 1. JDK 和 JRE 有什么区别? JDK:Java Development Kit 的简称,Java 开发工具包,提供了 Java 的 开发环境和运行环境 。 JRE:Java Runtime Environment 的简称, Java 运行环境 ,为 Java 的运行提供了所需环境。 具体来说 JDK 其实包含了 JRE,同时还包含了编译 Java 源码的编译器 Javac,还包含了很多 Java 程序调试和分析的工具。简单来说: 如果你需要运行 Java 程序,只需安装 JRE 就可以了,如果你需要编写 Java 程序,需要安装 JDK。 2. == 和 equals 的区别是什么? == 解读 对于基本类型和引用类型 == 的作用效果是不同的,如下所示: 基本类型:比较的是值是否相同; 引用类型:比较的是引用是否相同; 代码示例:     String x = "string";     String y = "string";     String z = new String("string");     System.out.println(x==y); // true     System.out.println(x==z); // false     System.out.println(x.equals(y)); // true    

算法实战(六)Z 字形变换

爷,独闯天下 提交于 2019-11-30 02:01:29
一.前言   之前因为第五题最长回文字符串需要使用到dp解法,所以我花了很长的时间来研究dp(因为每天又要上班,加上这段时间事情比较多,所以花了三个星期才搞定),好不容易算入了个门,有兴趣的同学可以看看我写的dp的文章,话不多说,今天开始继续刷题。 二.题目   题目:将一个给定字符串根据给定的行数,以从上往下、从左到右进行 Z 字形排列。      比如输入字符串为 "LEETCODEISHIRING" 行数为 3 时,排列如下:      之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如: "LCIRETOESIIGEDHN" 。   请你实现这个将字符串进行指定行数变换的函数:string convert(string s, int numRows);   示例1:输入: s = "LEETCODEISHIRING", numRows = 3       输出: "LCIRETOESIIGEDHN"   示例2:输入: s = "LEETCODEISHIRING", numRows = 4       输出: "LDREOEIIECIHNTSG"       解释: 三.解题思路   解法1:二维数组       对于这种字符串变换的问题,我向来都是很头疼,一开始认为变化太多了很复杂,实际分析了一下这个题目后,发现并没有我想象的那么难。给定了一个行数后

StringBuilder删除最后的字符

孤人 提交于 2019-11-30 00:52:33
stringbuilder碰到拼接XXx;XXX;这样的字符的时候,往往需要删除最后一个字符,通过remove(起始索引,向右移除的个数)可以实现。 1 StringBuilder sb = new StringBuilder(); 2 //课程 3 if (item.ExamPaperCategory == 0) 4 { 5 sb.Append("课程名称:"); 6 var codes = item.ExamPaperCode.Split(";"); 7 var courses = from a in db.DltBdCourse 8 where codes.Contains(a.CourseCode) 9 select a; 10 foreach (var course in courses) 11 { 12 sb.Append(course.CourseName+"/"); 13 } 14 sb.Remove(sb.Length - 1, 1); 15 } 来源: https://www.cnblogs.com/battlecry/p/11542365.html

String 、StringBuffer、StringBuilder

独自空忆成欢 提交于 2019-11-30 00:44:16
简单从以下四方面来说其实很简单: 线程安全性: 线程安全 String 、StringBuffer 非线程安全 StringBuilder 执行效率: StringBuilder > StringBuffer > String 存储空间: String 的值是不可变的,每次对String的操作都会生成新的String对象, 效率低耗费大量内存空间,从而引起GC(垃圾回收机制)。 StringBuffer和StringBuilder都是可变。 使用场景: 1如果要操作少量的数据用 String 2.单线程操作字符串缓冲区 下操作大量数据 = StringBuilder 3.多线程操作字符串缓冲区 下操作大量数据 = StringBuffer 来源: https://blog.csdn.net/mateng52/article/details/100982746

Java第二阶段之常用类

会有一股神秘感。 提交于 2019-11-29 22:44:55
包装类缓存-128到127之间的数字(系统初始的时候就创建了,当我们调用ValueOf时,首先检查是否在范围内,在则直接取用) integer in1 = integer.valueOf(-128); integer in2 = -128; in1.equals(in2)为true,in1=in2也为true string类 做字符串比较时,使用equals方法 str1.equals(str2) sbustring(0,3),返回012处的字符(含头不含尾) start要比stop小 string.indexOf(aaa,0);从0位置开始检索aaa的并返回首次出现的位置,且对大小写敏感,0可省略 stringbuilder stringbuffer可变字符序列 StringBuilder a = new StringBuilder("abcd") a.setCharAt(2,'m'); (=abmd) a.reverse();倒序(dcba) a.insert(0,a);在0处插入一个a(aabcd),该方法调用了return this,可以进行链式调用,如a.insert(0,a).insert(0,a). a.delete(0,1)删除第一个(含头不含尾) 一定一定一定不能使用for循环累加string对象,服务器会崩溃 要用for循环+stringbuilder

Nice looking table with StringBuilder

走远了吗. 提交于 2019-11-29 18:26:12
I know that "printf" method can use string formatting. My question is : Is there a way to create a nice looking table with StringBuilder class? For example: |Id|Category|Level|Space|Type|Adress|Dimension|Limits| And under that row, i must add the values of each columns! Doing something like that : example but with StringBuilder So the community want to see my answer (which i don't understand why ... but any way i will put it !) public String toString(){ StringBuilder s = new StringBuilder(); s.append("Category: "+this.category+"\t"); s.append("Level: "+this.level.toString()+"\t"); return s

Java 性能调优小技巧

回眸只為那壹抹淺笑 提交于 2019-11-29 17:37:56
1.在知道必要之前不要优化系统 这可能是最重要的性能调整技巧之一。你应该遵循常见的最佳实践做法并尝试高效地实现用例。但是,这并不意味着在你证明必要之前,你应该更换任何标准库或构建复杂的优化。 在大多数情况下,过早优化不但会占用大量时间,而且会使代码变得难以阅读和维护。更糟糕的是,这些优化通常不会带来任何好处,因为你花费大量时间来优化的是应用程序的非关键部分。 那么,你如何证明你需要优化一些东西呢? 首先,你需要定义应用程序代码的速度得多快,例如,为所有API调用指定最大响应时间,或者指定在特定时间范围内要导入的记录数量。在完成这些之后,你就可以测量应用程序的哪些部分太慢需要改进。然后,接着看第二个技巧。 2.使用分析器查找真正的瓶颈 在你遵循第一个建议并确定了应用程序的某些部分需要改进后,那么从哪里开始呢? 你可以用两种方法来解决问题: 查看你的代码,并从看起来可疑或者你觉得可能会产生问题的部分开始。 或者使用分析器并获取有关代码每个部分的行为和性能的详细信息。 希望不需要我解释为什么应该始终遵循第二种方法的原因。 很明显,基于分析器的方法可以让你更好地理解代码的性能影响,并使你能够专注于最关键的部分。如果你曾使用过分析器,那么你一定记得曾经你是多么惊讶于一下就找到了代码的哪些部分产生了性能问题。老实说,我第一次的猜测不止一次地导致我走错了方向。 3.为整个应用程序创建性能测试套件

StringBuilder to Array of Strings how to convert

冷暖自知 提交于 2019-11-29 17:19:56
cant anything find or read about this problem ( it's problem only for me but maybe someone know way to fix it. i have function which reading from asset folder public String[] loadFromAsset() throws IOException { String TEMPBUFFER = null; String[] temp; temp = new String[60]; int tempc = 0; BufferedReader bReader = new BufferedReader(new InputStreamReader(cont.getAssets().open("myquests.txt"))); String line="";// = bReader.readLine(); StringBuilder sb = new StringBuilder(); while (line != null) { line = bReader.readLine(); sb.append(line).append("TABTAB"); tempc++; } bReader.close(); //convert

IDEA运行tomcat源码

一个人想着一个人 提交于 2019-11-29 17:10:31
这里提供下Tomcat9最简单运行源码的实现 1. 去官网下载 tomcat源码 2.新建pom.xml文件,与webapps,conf等文件夹平级存放,增加一些缺少的jar包(这些其实可以自己多运行几次试出来缺哪些jar包),插件的作用是不用每次刷新maven的jar包都需要调整java版本号,不会改版本号的可以看{% post_link IDEA修改java版本号 IDEA修改java版本号 %} <?xml version="1.0" encoding="UTF-8"?> < project xmlns = " http://maven.apache.org/POM/4.0.0 " xmlns: xsi = " http://www.w3.org/2001/XMLSchema-instance " xsi: schemaLocation = " http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd " > < modelVersion > 4.0.0 </ modelVersion > < groupId > apacheTomcat9 </ groupId > < artifactId > apacheTomcat9 </ artifactId > < version >

Does StringBuilder become immutable after a call to ToString?

风流意气都作罢 提交于 2019-11-29 17:00:38
问题 I distinctly remember from the early days of .NET that calling ToString on a StringBuilder used to provide the new string object (to be returned) with the internal char buffer used by StringBuilder. This way if you constructed a huge string using StringBuilder, calling ToString didn't have to copy it. In doing that, the StringBuilder had to prevent any additional changes to the buffer, because it was now used by an immutable string. As a result the StringBuilder would switch to a "copy-on