![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
猪脚踏浪
这个作者很懒,什么都没留下…
展开
-
java 反射 , 判断Class是否是某个类的子类或父类
Class c = ArrayList.class;c.isPrimitive(); //判断c是否为基本数据类型c.isAssignableFrom(List.class); //判断c是否是List类的子类或父类c.getGenericType(); //得到泛型类型实例:通过反射得到List 集合中的泛型类型package com.zf.target;imp转载 2015-05-15 12:14:37 · 3127 阅读 · 0 评论 -
为什么java的web开发中URLEncoder.encode方法要为什么要调用两次
一: 我们先看2个编码的情况 String name=java.net.URLEncoder.encode("测试", "UTF-8"); System.out.println(name); name=java.net.URLEncoder.encode(name,"UTF-8"); System.o原创 2017-04-28 18:00:37 · 41542 阅读 · 1 评论 -
java.io.tmpdir 在什么位置
java.io.tmpdir 是默认的临时文件路径。 可以通过如下方式打印出具体的文件路径 System.out.println(System.getProperty("java.io.tmpdir"));原创 2017-04-14 09:55:07 · 7387 阅读 · 0 评论 -
另一种思路比较2个日期是否相等的方式
我们在应用中经常会遇到2个日期比较是否同一年,或者同一个月或者同一日,等。常规方式,我们通过逐个年,月,日的比较,才能确定是否是同一年,或同一个月或同一日。我们换一种思路,把2个日期按同一个日期格式转换成字符串,然后比较这2个字符串就能确定是否是同一年,或同一个月或同一日。 /** * 按指定规则进行日期比较,只要格式化后的字符串相等则认为日期相等 *原创 2017-04-15 16:22:28 · 5299 阅读 · 0 评论 -
合并任意个数组生成一个新的数组
/** * 合并任意个数组 * @param first * @param rest * @param * @return */ public static T[] concat(T[] first, T[]... rest) { int totalLength = first.length;原创 2017-04-15 16:24:44 · 1428 阅读 · 0 评论 -
获取文件扩展名(后缀)
文件扩展名(后缀)指的是小数点后的文本部分。java的File方法没有直接获取的方法,我们通过文件名的字符串截取可以获得/** * 获取文件扩展名(后缀) * @param filename * @return */public static String getFileExtension(String filename) { if (!Strings.isEmpty(fil原创 2017-04-23 17:00:53 · 3042 阅读 · 0 评论 -
文件字节大小显示成M,G和K
//字节大小,K,M,G public static final long KB = 1024; public static final long MB = KB * 1024; public static final long GB = MB * 1024; /** * 文件字节大小显示成M,G和K * @param size *原创 2017-04-26 13:11:14 · 4664 阅读 · 0 评论 -
Jackson将json字符串转换成泛型List,Map
需要先反序列化复杂类型 为泛型的Collection Type如果是ArrayList那么使用ObjectMapper 的getTypeFactory().constructParametricType(ArrayList.class, YourBean.class);ObjectMapper mapper = new ObjectMapper();JavaType javaTy原创 2017-06-16 00:01:54 · 5499 阅读 · 0 评论 -
jackson反序列化时忽略不需要的字段
JSON字符串中含有我们并不需要的字段,那么当对应的实体类中不含有该字段时,会抛出一个异常,告诉你有些字段没有在实体类中找到。解决办法很简单,在声明ObjectMapper之后,加上上述代码:objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);原创 2017-06-16 00:12:25 · 12878 阅读 · 0 评论 -
将字符串中的多个连在一起的空格变成单个空格
如:"aa bb cc dd ee ff"变成"aa bb cc dd ee ff"正则表达式实现String string = "aa bb cc dd ee ff";String test = string.rep原创 2017-07-13 00:41:47 · 2212 阅读 · 2 评论 -
patchca生成超炫的验证码
官网:http://code.google.com/p/patchca/ /** * 验证码 * * @param width 图片宽度 * @param height 图片高度 * @param number 验证码数量 */ @RequestMapping(value = {"/captcha"})原创 2017-06-25 09:13:18 · 713 阅读 · 0 评论 -
CentOS安装JDK
1.查看目前系统的jdk: rpm -qa | grep jdk2.卸载jdkyum -y remove copy-jdk-configs-1.2-1.el7.noarch在运行 rpm -qa | grep jdk发现jdk已经没有了。3.安装jdk准备好要安装的jdk,我的版本是jdk-8u65-linux-x64.tar.gz我原创 2017-07-17 00:37:40 · 1490 阅读 · 0 评论 -
java web项目安全注意事项
1.弱口令漏洞解决方案:最好使用至少6位的数字、字母及特殊字符组合作为密码。数据库不要存储明文密码,应存储MD5加密后的密文,由于目前普通的MD5加密已经可以被破解,最好可以多重MD5加密,或者多种加密方式叠加组合。2.未使用用户名及密码登录后台可直接输入后台URL登录系统。解决方案:通过配置filter来过滤掉无效用户的连接请求。3.JSP页面抛出的异常可能暴露程序信息。有经验的转载 2017-08-06 16:12:32 · 2539 阅读 · 0 评论 -
jdk-8u131wiindows64位版本安装时错误1335的解决办法
出现上述错误请用管理员身份安装jdk-8u131wiindows64位版本顺利安装通过。原创 2017-08-24 18:46:48 · 7138 阅读 · 0 评论 -
String.replaceAll()方法替换字符串中的反斜杠(\)
replaceAll()方法实际是采用正则表达式的规则去匹配的。在regex中"\\"表示一个"\",在java中一个"\"也要用"\\"表示。这样,前一个"\\"代表regex中的"\",后一个"\\"代表java中的"\",所以字符串转义一次,正则转义一次,那么一个斜扛要写4个;要想使用replaceAll()方法将字符串中的反斜杠(\)替换成(\\),则需要这样写:r原创 2017-04-18 09:56:18 · 10948 阅读 · 0 评论 -
Calendar.HOUR_OF_DAY 和 Calendar.HOUR的区别
Calendar.HOUR_OF_DAY是24小时制Calendar.HOUR是12小时制所以下面方法是结果是不同的calendar.set(Calendar.HOUR_OF_DAY, 23); 输出日期 2017-04-13 23:07:02calendar.set(Calendar.HOUR, 23); 输出日期2017-04-13 11:07:02原创 2017-04-13 12:50:33 · 67808 阅读 · 2 评论 -
强大易用的日期和时间库 Joda Time
Joda-Time提供了一组Java类包用于处理包括ISO8601标准在内的date和time。可以利用它把JDK Date和Calendar类完全替换掉,而且仍然能够提供很好的集成。 Joda-Time主要的特点包括: 1. 易于使用:Calendar让获取"正常的"的日期变得很困难,使它没办法提供简单的方法,而Joda-Time能够 直接进行访问域并且索引值1就转载 2017-01-28 15:38:52 · 438 阅读 · 0 评论 -
JPA注释参考手册
TableTable用来定义entity主表的name,catalog,schema等属性。 元数据属性说明: name: 表名 catalog: 对应关系数据库中的catalog schema:对应关系数据库中的schema UniqueConstraints:定义一个UniqueConstraint数组,指定需要建唯一约束的列 @Entity转载 2014-06-21 01:45:47 · 478 阅读 · 0 评论 -
利用patchca生成验证码
patchca 是一个简单但功能强大的验证码的Java类库。在springMVC 中的使用 /** * 验证码 * * @param width 图片宽度 * @param height 图片高度 * @param number 验证码数量 */ @RequestMapping(value = {"/cap原创 2017-03-17 13:00:53 · 2584 阅读 · 0 评论 -
Java中String、StringBuffer和StringBuilder的区别
String:字符串常量,字符串长度不可变。Java中String是immutable(不可变)的。StringBuffer:字符串变量(Synchronized,即线程安全)。如果要频繁对字符串内容进行修改,出于效率考虑最好使用StringBuffer。StringBuilder:字符串变量(非线程安全)。在内部,StringBuilder对象被当作是一个包含字符序列的变长数组。原创 2017-03-09 10:32:18 · 340 阅读 · 0 评论 -
从 JDBC 类型映射到 Java 类型
从 JDBC 类型映射到 Java 类型JDBC 类型Java 类型CHARStringVARCHARStringLONGVARCHARStringNUMERICjava.math.BigDecimalDECIMALjava.math.BigDec原创 2017-03-09 23:19:04 · 3263 阅读 · 0 评论 -
Java中 获取指定字符串在另一个字符串中出现的次数
方法一public int count(String srcText, String findText) { String[] array = srcText.split(findText); return array.length - 1; }方法二public static int count(String srcText, Stri原创 2017-03-22 11:01:24 · 592 阅读 · 0 评论 -
获得泛型的Class
在Class类中有这么两个方法: getGenericInterfaces()和getGenericSuperclass()1. public Type getGenericSuperclass()用来返回表示当前Class 所表示的实体(类、接口、基本类型或 void)的直接超类的Type。如果这个直接超类是参数化类型的,则返回的Type对象必须明确反映在源代码中声明时使用的原创 2017-03-13 11:57:31 · 4232 阅读 · 0 评论 -
java字符串分解 StringTokenizer
StringTokenizer:字符串分隔解析,比split()方法效率高1、构造函数。1. StringTokenizer(String str) :构造一个用来解析str的StringTokenizer对象。java默认的分隔符是“空格”、“制表符(‘\t’)”、“换行符(‘\n’)”、“回车符(‘\r’)”。2. StringTokenizer(String str, Strin原创 2017-03-29 13:17:36 · 598 阅读 · 0 评论 -
Java Sax解析xml
Java Sax解析是按照xml文件的顺序依次来解析。xml文件的节点分为两类,一种是ElementNode,一种是TextNode。 thinking in java 85.5 Spring in Action 39.0 其中,、这种节点就原创 2017-04-08 00:35:48 · 332 阅读 · 0 评论 -
java字符串格式化String.format()
常规类型的格式化String类的format()方法用于创建格式化的字符串以及连接多个字符串对象。熟悉C语言的同学应该记得C语言的sprintf()方法,两者有类似之处。format()方法有两种重载形式。format(String format, Object... args) 新字符串使用本地语言环境,制定字符串格式和参数生成格式化的新字符串。format(Locale l转载 2017-04-08 15:03:14 · 407 阅读 · 0 评论 -
HashSet,TreeSet和LinkedHashSet的区别
Set接口Set不允许包含相同的元素,如果试图把两个相同元素加入同一个集合中,add方法返回false。Set判断两个对象相同不是使用==运算符,而是根据equals方法。也就是说,只要两个对象用equals方法比较返回true,Set就不 会接受这两个对象。HashSetHashSet有以下特点1 不能保证元素的排列顺序,顺序有可能发生变化2 不是同步的3 集合元原创 2017-04-08 21:47:58 · 264 阅读 · 0 评论 -
CharSequence 去除两端空格
CharSequence就是字符序列,String, StringBuilder和StringBuffer都是其实现类。模仿String.trim() 实现了一个CharSequence通用的去除两端空格方法。 public static CharSequence trim(CharSequence cs) { int len = cs.length();原创 2017-04-09 22:40:05 · 979 阅读 · 0 评论 -
instanceof运算符、Class的isInstance( )与isAssignableFrom之间的区别
instanceof运算符 只被用于对象引用变量,检查左边的被测试对象 是不是 右边类或接口的 实例化。如果被测对象是null值,则测试结果总是false。形象地:自身实例或子类实例 instanceof 自身类 返回true例: String s=new String("javaisland"); System.out.println(s instanceof Str转载 2017-03-26 21:47:07 · 437 阅读 · 0 评论 -
小数去除尾部的0
1.利用正则表达复制代码 String s = “123.045600”;if(s.indexOf(“.”) > 0){//正则表达s = s.replaceAll(“0+?$”, “”);//去掉后面无用的零s = s.replaceAll(“[.]$”, “”);//如小数点后面全是零则去掉小数点}复制代码使用NumberFormatimport...原创 2018-07-31 08:49:13 · 2713 阅读 · 0 评论