用了比较久的vscode了,感觉vscode还是挺棒的,不过vscode默认的一些连字符是不能双击选中的,这导致我在写css类的时候,由于不能双击选中连字符,就喜欢在上面进行驼峰命名(不过这不符合css...搜索 在搜索中输入editor.wordSeparators,找到需要的字符,将其删除,保存就行了。 ?
1、Java序列化与反序列化是什么?...Java序列化是指把Java对象转换为字节序列的过程,而Java反序列化是指把字节序列恢复为Java对象的过程: 序列化:对象序列化的最主要的用处就是在传递和保存对象的时候,保证对象的完整性和可传递性。...二:java对象序列化不仅保留一个对象的数据,而且递归保存对象引用的每个对象的数据。 可以将整个对象层次写入字节流中,可以保存在文件中或在网络连接上传递。...3、如何实现Java序列化与反序列化 首先我们要把准备要序列化类,实现 Serializabel接口 例如:我们要Person类里的name和age都序列化 import java.io.Serializable...; import java.io.FileOutputStream; import java.io.ObjectOutputStream; public class ObjectOutputStreamDemo
字符集 字符集是一系列字符的集合,将每个收录的字符和数字进行映射。...最早的字符集是ASCII,使用一个字节进行存储字符,8位一共可以表示256个字符,而ASCII只使用了其中的128位,即0~127位,这128位里面包括了常用的英文字符以及标点符号。...Unicode是一个几乎包括了世上所有字符的字符集,每个字符都有一个对应的独一无二的Unicode码,比如聊天时使用的emoji表情字符,GitHub上也可以通过 :grin: 这种写法来输出emoji...字符编码其实就是对Unicode字符集的实现方式,用以约定如何用1~4个字节来存储字符。 字符编码 UTF-8 UTF-8是可变长编码,即多字节编码,在存储不同的字符时使用的字节数量是不同的。...Java就是使用的这个编码来存储字符,中文和英文都是两个字节(即char这个基础数据类型),所以Java是双字节编码。 UTF-16LE,使用两个字节进行存储的小端编码。
定义 转义字符是一种特殊的字符常量。转义字符以反斜线""开头,后跟一个或几个字符。转义字符具有特定的含义,不同于字符原有的意义,故称“转义”字符。...常见转义字符表 Java中需要转义的字符 在Java中,不管是String.split(),还是正则表达式,有一些特殊字符需要转义,这些字符是 ( [ { / ^ - $ ¦ } ] ) ?...转义方法为字符前面加上"\",这样在split、replaceAll时就不会报错。不过要注意,String.contains()方法不需要转义。
,缓冲各个字符,从而提供字符、数组和行的高效读取。...BufferedWriter 将文本写入字符输出流,缓冲各个字符,从而提供单个字符、数组和字符串的高效写入 1.字符流复制数据字节 public static void main(String[] args...String>(); //添加数据 array.add("hello"); array.add("word"); array.add("java...//数据源 BufferedReader br = new BufferedReader(new FileReader("ByteArrayStreamDemo.java...")); //目的地 PrintWriter pw = new PrintWriter(new FileWriter("a.java"),true);
String a = "test"; final String b="3"; 这时String c=a+b就变成了常量相加,所以编译器会对其进行优化,即这时c,d就相等了 ps:推荐楼主一本书《深入java...虚拟机》,对java的底层机制有很好的介绍。
1、JVM中单个字符占用的字节长度跟编码方式有关,而默认编码方式又跟平台是一一对应的或说平台决定了默认字符编码方式; 2、对于单个字符:ISO-8859-1单字节编码,GBK双字节编码,UTF-8三字节编码...;因此中文平台(中文平台默认字符集编码GBK)下一个中文字符占2个字节,而英文平台(英文平台默认字符集编码Cp1252(类似于ISO-8859-1))。...在中文平台下,如果指定的字符集编码是ISO-8859-1,由于此字符集是单字节编码,所以使用getBytes("ISO-8859-1")时,每个字符只取一个字节,每个汉字只取到了一半的字符。...由于这一半的字符在字符集中找不到对应的字符,所以默认使用编码63代替,也就是?。...()方法返回的字节数组的长度、内容到底是什么,因为在接下来使用新的encoding进行编码解码时,Java并不会自动地对字节数组进行扩展以适应新的encoding。
在开发的过程中,字符编码常常令我们头痛。经常会出现各种各样的乱码。下面就介绍java的编码转换和常见的乱码是使用什么样的编码去读取的: 先看一张图片: ?...在看看java中如何处理编码的转换: package com.test; /** * 字符串编码转换 * @author Herman.xiong * @date 2015年7月16日09:36
当使用字节流读取文本文件时,遇到中文字符可能不会显示完整的字符,那是因为一个中文字符可能占用多个字节存储。所以 Java 提供字符流类,以字符为单位读写数据。...1.1 字符输入流 java.io.Reader抽象类是表示用于读取字符流的所有类的超类,可以读取字符信息到内存中。...,并将它们存储到字符数组 cbuf 中 1.1.2 FileReader 类 java.io.FileReader类是读取字符文件的便利类。...java.io.Writer抽象类是表示用于写出字符流的所有类的超类,将指定的字符信息写出到目的地。...1.2.2 FileWriter 类 java.io.FileWriter类是写出字符到文件的便利类。
上篇文章Java 字节流操作介绍了java中基本的字节流操作,但是我们常常对于字符操作,如果使用字节流来实现输入输出就显得麻烦,我们可以使用字符流来实现对我们看得见的字符char进行操作,...主要内容如下: 基本流(Reader/Writer) 转换流(InputStreamReader/OutputStreamEWriter) 文件字符流(FileReader/FileWriter) 字符数组流...他们内部主要的就是read和write方法,实现单个字符及字符数组的读取的写入。此处就不再列出,我们将会从他们的子类中看看这些方法的实现。...我们可以使用字符数组流来实现动态扩容,解决内存空间。...五、缓冲字符流 字符的缓冲流和字节的缓冲流是类似的。都是装饰流。
一、字符的 + 操作 将字符型的变量与数字型的变量相加时,是用字符在计算机底层对应的数值(ASCII码)来进行计算的。...char类型将被提升到int类型; 整个表达式的类型自动提升到表达式中最高等级操作数同样的类型,等级顺序:byte、short、char < int < long < float < double; 二、字符串的..."+6+66); System.out.println(6+66+"cikian"); //先进行算术运行,在进行连接操作 }; }; 测试结果: 总结: 当“+”操作出现在字符串之间时...,“+”代表字符串连接符,而非算术运算; 出现连续“+”操作时,从左到右依次执行。...(这里注意一下,从左到右依次执行时,如果像“测试代码”中有注释的代码那样,会先进行算术运算,遇到字符串时再进行连接操作,遇到字符串后,其后方的所有数字或者字符串都执行连接操作,不再进行算数运算。
算法是这样的,如果给定 N个不同字符,将这 N个字符全排列,最终的结果将会是 N! 种。...如:给定 A 、B、C三个不同的字符,则结果为: ABC、ACB、BAC、 BCA、CAB、CBA一共 3!...=3*2=6 种情况 package Question1_9; import java.util.Scanner; import java.util.Vector; public class Full
参考链接: Java字符串 字符串的创建 1.直接创建 String s="hello world"; 2.使用new进行创建 String s1=new String();//此时s1为""而不是...如果字符串等于参数字符串,返回0;小于参数字符串,返回-1;大于参数字符串,返回1. ...String的不可变性 1.不可变对象,指创建后的对象不可以改变,典型例子为Java中的String。 2.String类不可变的好处: A.可以实现字符串池。...字符串池的实现可以在运行时节约很多时间,因为不同的字符串变量都指向池中同一个字符串。 B.安全性得到保证。譬如数据库的用户名、密码等都是用字符串来传入;Socket编程中,主机名和端口都是字符串传入。...3.Java本身建议使用JPasswordField类的getPassword()方法,该方法返回一个Char[]和不推荐使用的getText()方法,该方法以明文形式返回密码。
参考链接: Java中的字符串拼接 java字符连接字符串数组 最近有人问我这个问题–在Java中使用+运算符连接字符串是否对性能不利? ...这让我开始思考Java中连接字符串的不同方法,以及它们如何相互对抗。...; import java.util.concurrent.TimeUnit; @Warmup(iterations = 5, time = 1, timeUnit = TimeUnit.SECONDS...下一个测试将创建一个100个字符串的数组,每个字符串包含10个字符。 基准测试比较了将100个字符串连接在一起的不同方法所花费的时间。...翻译自: https://www.javacodegeeks.com/2015/02/optimum-method-concatenate-strings-java.html java字符连接字符串数组
字符串基础 – 一个个字符组成的有序的序列,是字符的集合; – 使用单引号、双引号、三引号引住的字符序列; – 字符串是不可变对象; – Python3开始,字符串就是Unicode类型; 字符串定义和初始化...字符串是有序的,可迭代的,所以就可以使用下标的方法来访问。...– 使用下标来访问字符串中的元素,下标的值默认是从0开始的。...'t' – 字符串是有序的字符集合,是可以迭代的。 ...[22]: str2 = "asdfghjh" In [23]: str1 + str2 Out[23]: 'abcasdfghjh' 字符串分割 split系列:将字符串按照分隔符分割成若干字符串
在MySQL中如果两张表的字符排序集(Collate)不同(比如一张表为utf8mb4_general_ci, 另一张表为utf8mb4_unicode_ci),在连表查询时就可能会如下类似的错误:...collations (utf8mb4_general_ci,IMPLICIT) and (utf8mb4_unicode_ci,IMPLICIT) for operation '=' ### 可以通过如下语句修改表的字符排序集
在字符画的基础上增加了播放功能 思路很简单,javacv抽帧,逐帧生成对应字符画后保存,生成完通过swing播放。...package video; import javax.imageio.ImageIO; import java.awt.*; import java.awt.image.BufferedImage...; import java.io.File; import java.io.IOException; import java.io.Serializable; import java.lang.reflect.Array...lI;:,\"^`'. ";// 字符串由复杂到简单 String ans = ""; int sl=0; for (int y = 0; y < image.getHeight...; import java.awt.image.BufferedImage; import java.io.*; import java.util.ArrayList; import java.util.Date
“-”,如下图,因此我们还需要把这些连字符删除。...我发现PDF里面换行所用的连字符的内部表示跟其他的连字符是不一样的,把换行连字符复制过来然后粘贴到visual studio code里面就会出现方框带问号的样子(如下图),如果是其他的连字符的话复制粘贴后是直接显示一条横线的...因此可以放心,我们把所有的换行连字符删除并不会连普通的连字符也被删除,因为内部表示不一样。 还有一点要注意,在PDF文档里换行连字符后面是没有换行符的。...把上面这句话复制粘贴一下就知道了,粘贴结果显示换行连字符后面没有换行。因此执行上面的把换行符替换成空格的操作不会导致换行连字符后面出现空格。...我研究了一下,这个换行连字符的ASCII码是2,因此可以用转义字符\2表示 我们依然使用replace()方法把换行连字符替换成空'',这样就把所有的换行连字符删除了,如下所示 message = message.replace
11.1 概念 字符串数据结构中的串,底层是由字符数组来进行封装而成的东西。字符串有一个特别的标志性的符号双引号"",字符串关键词是String,是一种特殊的引用数据类型。...utf-8 String info=new String(data,"utf-8"); System.out.println(info); } } String在java.lang...) 检查当前字符串是否以指定的字符串结尾 "helloworld".endsWith("world"); boolean startsWith(String str) 检查当前字符串是否以指定的字符串开始...,不会改变原字符串中的值,如果要用新的结果时,需要替换掉原字符串。...,先排序第一个字符,如果相同再排第二个字符,依次类推。
1、字符编码的发展历程 ①、ASCII 码 因为计算机只认识数字,所以我们在计算机里面的一切数据都是以数字来表示,因为英文字符有限,所以规定使用的字节的最高位是 0,每一个字节都是以 0-127...规定:原有的 ASCII 字符的编码保持不变,仍然使用一个字节表示,为了区别一个中文字符与两个 ASCII 码字符相区别。...那么计算机在显示的时候就为乱码或是别的字符 解决办法:为了解决各个国家因为本地化字符编码带来的影响,就把全世界所有的字符统一进行编码---Unicode 编码 此时某一个字符在全世界任何地方显示都是固定的...Unicode 的字符编码都占有两个字节 ④、UTF-8 是一种针对 Unicode 的可变长度字符编码,又称为 万国码,是 Unicode 的实现方式之一。...那必须要将字节转换为人所识别的字符串形式,这就是解码的过程。