
Java
shboli
这个作者很懒,什么都没留下…
展开
-
Java: Map里面的键和值可以为空吗?
在Java中,Map里面的键和值可以为空吗?原创 2016-10-29 10:51:51 · 68930 阅读 · 5 评论 -
修改String字符串的值
我们知道,在java中字符串的值是不可改变的,相同的字符串在内存中只会存一份。为什么说String的值是不可变的呢?我们看一下String源代码(这里以JDK1.8为例):public final class String implements java.io.Serializable, Comparable<String>, CharSequence { /**...原创 2019-01-18 09:19:42 · 11918 阅读 · 1 评论 -
Java中Integer.valueOf()解读
我们先看一段代码: public static void main(String[] args) { Integer i1 = 20; Integer i2 = 20; System.out.println(i1 == i2); System.out.println(i1.equals(i2)); }接着往下看之前,大家可以先自己想一想输出结果是什么。 输出结果:t...原创 2018-12-20 10:01:30 · 32891 阅读 · 8 评论 -
Java读写Excel表格数据
开发中有时候需要把一些数据记录在Excel表格中,便于观察分析数据。这里操作Excel表格使用的是jxl.jar,jxl.jar是java操作Excel的一个工具类库,同样的工具类还有apache的poi,在小数据量时jxl快于poi,在大数据量时poi要快于jxl。但差距都不明显。我们直接看下面两个读写Excel表格的简单示例:写Excel表格数据: private static void...原创 2018-10-08 10:26:20 · 10488 阅读 · 9 评论 -
Java中四种创建定时任务的方式
在开发中,创建定时任务的方式有很多,下面简单介绍四种常见的方式:Runnable,TimerTask,线程池ScheduledExecutorService,Quartz。1.使用Runnable private static void testRunnable() { final long timeInterval = 1000; Runnable...原创 2018-09-17 11:01:06 · 5176 阅读 · 0 评论 -
创建线程的另一种方式:实现Callable接口
在开发中,我们经常通过new thread或者实现runable接口的方式来创建线程,其实还可以通过实现Callable接口来创建线程。先看一下API文档中关于Callable的介绍: 我们可以看出来,相较于实现Runnable接口的方式,实现Callable接口这种方法可以有返回值,并且可以抛出异常。通过实现Callable接口来创建线程,需要依赖FutureTask实现类的支持,...原创 2018-09-03 15:01:36 · 292 阅读 · 0 评论 -
使用Gson中的JsonElement所遇到的坑
Google的gson.jar包在开发中经常使用,有一些细节的地方稍不注意就会踩到坑。这里介绍一下使用JsonElement取值所遇到的问题,避免以后再犯这种错误。我们先看一个例子:public static void main(String[] args) { JsonObject js = new JsonObject(); js.addProperty...原创 2018-07-18 17:54:20 · 13737 阅读 · 0 评论 -
Gson常用方法
在开发中我们经常通过Gson来解析字符串,转化为所需要的Java对象。使用到它的地方很多,常用的几个方法总结如下:1.字符串转实体类public <T> T fromJson(JsonElement json, Class<T> classOfT) throws JsonSyntaxException...原创 2018-05-01 21:58:24 · 740 阅读 · 1 评论 -
Java反射总结
Java 反射总结原创 2016-12-23 17:16:44 · 456 阅读 · 0 评论 -
如何判断ArrayList中是否存在某一个自定义对象
在开发中经常用到ArrayList,有时候需要判断ArrayList中,是否已经存在某一个自定义的实体对象,该如何判断呢?ArrayList的Api文档中有这样一个方法:boolean contains(Object o),用来判断是否存在某一个Object。我们先来看一下这个方法实现的具体源代码: /** * Returns <tt>true</tt>...原创 2019-02-23 22:59:42 · 9596 阅读 · 1 评论