utf-8码的中文都是3字节的,而 gbk/gbk18030 是2字节的…
1.       汉字字符串与unicode之间的转换 1.1          stringToUnicode /** * 获取字符串的unicode编码 * 汉字"木"的Unicode 码点为Ox6728 * * @param s 木 * @return \ufeff\u6728 \ufeff控制字符 用来表示「字节次序标记(Byte Order Mark)」不占用宽度 * 在java中一个char是采用unicode存储的 占用2个字节 比如 汉字木 就是 Ox6728 4bit…
今天发现了一个汉字占了3个字节,一开始以为是两个呢,字符串切片时总出现乱码,后来才发现一个中文占3个字节.这才解决了乱码问题 原来  1. utf-8 编码中,一个汉字占三个字节.英文字母是一个占用一个字节. 参考链接:https://blog.csdn.net/cadi2011/article/details/82048702 我发现python里面,汉子的长度,一个是占3个 1.难道是因为 utf-8的话一个汉子是占用了3个字节 2.反正今天顺着一个bug,想看看字符串的长度,结果一串英文,…
Java中如何查看一个类依赖的包 如图, 我如何知道JSONArray是依赖的哪一个包呢,这里有两个json-lib包?   测试语句:   public static void main(String[] args) {         ProtectionDomain pd = JSONArray.class.getProtectionDomain();         CodeSource cs = pd.getCodeSource();         System.out.printl…
中文乱码在java中URLEncoder.encode方法要调用两次解决 一.场景: 1.我在客户端要通过get方式调用服务器端的url,将中文参数做utf-8编码,需要在js中两次的进行编码,服务器端才能用decode方法一次获取. 例如: var xing=encodeURIComponent(encodeURIComponent(xing)); var xing=encodeURIComponent(encodeURIComponent(xing)); 2.如果我在客户端用java输出汉字…
使用Jquery validate时写的一些东西,在这里做个笔记 在使用 Jquery validate 的minlength和maxlength进行文本框内容长度验证的时候,对于一个汉字的长度检测结果是1个字符长度, 在这里我想让一个汉字的长度为2个字符长度,下面记录一下实现方法. 首先我们定义一个需求,比如下面文本框,我们想让输入的用户名长度不能超过10个字符(一个汉字为两个字符长度). 用户名:<input type="text" name="username&q…
例如 package com.atguigu.java.fanshe; public class Person { String name; private int age; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) {…
在 Java 中不使用多余变量交换两个字符串 public class Test { public static void main(String[] args) { String a = "Hello"; String b = "World"; System.out.println("Strings before swap: a = " + a + " and b = " + b); a = a + b; b = a.sub…
<?php header("Content-type:text/html;charset=utf-8"); /** *截取字符串,汉字占两个字节,字母占一个字节 *页面编码必须为utf-8 */ function esub($str, $length = 0,$ext = "..."){ if($length < 1){ return $str; } //计算字符串长度 $strlen = (strlen($str) + mb_strlen($str,&…
泛型的术语 <>: 念做typeof List<E>: E称为类型参数变量 ArrayList<Integer>: Integer称为实际类型参数 ArrayList<Integer>: 整个ArrayList<Integer>称为参数化类型(对应着java.lang.reflect.ParameterizedType接口) 泛型反射相关API Type[] getGenericInterfaces():获得当前类实现的泛型接口(参数化类型) 举…
Java中,如果我们创建一个类,想让这个类只有一个对象,那么我们可以 1:把该类的构造方法设计为private 2:在该类中定义一个static方法,在该方法中创建对象 package test; /* * 有时候我们希望一个类在任何时候都只有一个实例,这时候可以把该类设计为单例模式. * 要将一个类设计为单例模式,需要: * 1:把该类的构造方法的访问修饰符生命为private * 2:然后在该类中定义一个static方法,在该方法中创建类的对象 * * */ public class Sin…
给你一个数组和两个索引,交换下标为这两个索引的数字 import java.util.Arrays; public class Solution { public static void main(String args[]) { int[] Array = { 3, 2, 1, 4, 5 }; SwapArray testArray = new SwapArray(); testArray.swapIntegers(Array, 0, 2); } } class SwapArray { /**…
如何检查一个数组(非排序的)是否包含特定的值.这是个非常有用或经常被在Java中使用.这是个在Stack Overflow中高得票的问题.在已经高得票的答案中,有许多不同的处理方法,但是时间的复杂度非常不同.在下面,我将会展示每种方法的时间花费. 一.四种不同的方法去检查一个数组包含特定的值 1) 用List public static boolean useList(String[] arr, String targetValue) { return Arrays.asList(arr).co…
Java中,使用Final修饰一个变量,是引用不能变,还是引用对象不能变? 是引用对象的地址不能变,引用变量所指的对象的内容可以改变. final变量永远指向这个对象,是一个常量指针,而不是指向常量的指针. 比如: final StringBuffer sb=new StringBuffer("abc"); 对sb重新赋值 sb=new StringBuffer("cde"); 会出现编译错误,被final修饰的变量是不能重新赋值的: 但是 sb.append(&q…
今天在QQ群上看见有人问如何在Java中输入一个字符的问题. 查了下有以下三种方法吧: char c = new java.util.Scanner(System.in).next().charAt(0); 这算是最常用的了吧,实际上就是输入字符串后再利用charAt(0)得到 char c = new java.util.Scanner(System.in).next().toCharArray()[0]; 勉强算得上第二种吧!我以前很常用的.可以用,但是毕竟不好,浪费资源,又没有第一种简单.…
使用Java中Character类的静态方法: Character.isDigit(char c) //判断字符c是否是数字字符,如‘1’,‘2’,是则返回true,否则返回false   Character.isLowerCase(char c) || Character.isUpperCase(char c) //判断c是否是字母字符,前面LowerCase是小写,后面UpperCase是大写,是返回True,否则返回False Character.isLetterOrDigit(char…
一个汉字相当于两个字符,所以需要输入法的时候切换到[中文全角],中文全角占用2个字符(一个空格),半角占用1个字符…
不可变对象指对象一旦被创建,状态就不能再改变.任何修改都会创建一个新的对象,如 String.Integer 及其它包装类. 详情参见答案,一步一步指导你在 Java中创建一个不可变的类.…
今天学习时法现一个问题,我们定义了一个Test类,在主类中new了一个他的对象,发现:在新建对象中所有的成员变量是先给定了默认初值的:0,null或者false, 之后再调用的构造函数.(如果变量是由其他函数或者表达式进行赋值的,就在此时进行函数或者表达式赋值(牵扯到其他变量的就使用此时的变量值(0或者null)进行计算)) 程序如下:(输出结果为:10和1) class Test{ int i; Test(int i) { this.i = i; } int j=i+1; } public c…
判断日期格式是否满足要求 import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Date; public class Test2{public static void main(String[] args) { String date_string="201609";// 利用java中的SimpleDateFormat类,指定日期格式,注意yyyy,MM大小写// 这里的日…
1.用“==”运算符,该运算符表示指向字符串的引用是否相同,比如: String a="abc";String b="abc",那么a==b将返回true.这是因为在java中字符串的值是不可改变的,相同的字符串在内存中只会存一份,所以a和b指向的是同一个对象:再比如:String a=new String("abc");String b=new String("abc");那么a==b将返回false,因为a和b指向不同的对…
Java 中,可以使用 SimpleDateFormat 类或者 joda-time 库来格式日期. DateFormat 类允许你使用多种流行的格式来格式化日期.参见答案中的示例代 码,代码中演示了将日期格式化成不同的格式,如 dd-MM-yyyy 或 ddMMyyyy.…
1.字节:byte:用来计量存储容量的一种计量单位:位:bit 2.一个字节等于8位  1byte = 8bit char占用的是2个字节 16位,所以一个char类型的可以存储一个汉字. 整型: byte:1个字节 8位 -128~127 short :2个字节 16位 int :4个字节 32位 long:8个字节 64位 浮点型: float:4个字节 32 位 double :8个字节 64位 注:默认的是double类型,如3.14是double类型的,加后缀F(3.14F)则为flo…
今天在开发的时候,需要把一些信息放到配置文件中,方便后续的修改,注意到用的是ResourceBundle读取配置文件的方式,记得之前也见过使用Properties的方式,就比较好奇这两种方式的区别,网上查了一下和查了一下Java API手册,简单总结记录一下: ResourceBundle和Properties的一个主要区别就是ResourceBundle支持语言国际化,当程序需要特定于语言环境的对象时,它使用 getBundle 方法加载 ResourceBundle 类: Locale lo…
The Java Tutorials have been written for JDK 8. Examples and practices described in this page don't take advantage of improvements introduced in later releases.这篇Java教程是为JDK 8而编写的, 文中所描述的例子与实践并没有对后续版本的引入做出改进. Creating Objects 创建一个项目 As you know, a cl…
问题一:在进行赋值运算时,进行类型提升: 例如:short s1 = 1;s1 = s1 + 1; (错的编译通不过) short s2 = 1;s2 += 1;(正确,编译和运行都能通过) 为什么呢?这其中就涉及到了类型的自动提升问题.解释如下: short s1 = 1; // 这个表达式会进行自动类型提示,因为1为int类型, // 所以提升后整体的数据类型为int类型.因为short类型为2个字节,int类型为4个字节, // 把四个字节的内容放到2个字节的内容中,编译肯定通不过. //…
本文链接:https://blog.csdn.net/kuuumo/article/details/83021158   ______________________________________________________________________________________________________ Java获取泛型T的类型 T.class https://blog.csdn.net/changsa65/article/details/78790881 Java如何优雅…
原文地址:http://blog.sina.com.cn/s/blog_7bac470701014mjf.html 判断字符串是否为数字 //1.正则表达式  public static boolean isNumeric1(String str){   Pattern pattern = Pattern.compile("[0-9]*");   return pattern.matcher(str).matches();  }  //2.java自带函数  public static…
最近工作中有接触到DelayQueue,网上搜索资料的时候发现一篇文章谈到DelayQueue的坑.点击打开链接 文中已经总结了遇到坑的地方,还有解决方案.不过我第一眼看一下没弄明白为什么,所以翻了翻源码深究了一下,下面把这个坑的原因以及原理分析一下. 首先是DelayQueue的take()方法: public E take() throws InterruptedException { final ReentrantLock lock = this.lock; lock.lockInterr…
java中有两种类型一种是数值性,另一种是类变量数值性变量的初始值为0,类变量的初始化为null没做初始化成员变量int性变量是0, 在java中有这么一条规则,声明在方法中的变量在使用时必须要初始化;对于全局变量如果不赋值,会有默认值: package test1; class Test{ int i; public void print(){ System.out.println(i); } } public class test07 { public static void main(St…