java随笔
日常编程问题等记录
路先生的杂货铺
【坚持做CSDN的一股清流】学习如逆水行舟,不进则退。今天不努力,明天变垃圾。
展开
-
关于PreparedStatement插入Date类型值的方法
java中的PreparedStatement类型的setDate() 方法要求 java.sql.Date,而 java.sql.Date 的构造函数不能为空。所以正确做法是:pstmt.setDate(8, new Date(System.currentTimeMillis())); 或者:pstmt.setDate(8, new Date(new java.util.Date().getTime())); 另外,setDate()只能是日期型,最小单位是日。假如需要时分秒需要:pstm转载 2020-08-17 14:01:04 · 1104 阅读 · 0 评论 -
java.lang.IllegalArgumentException: Invalid character found in the request target
记录一次错误:测试发送http请求时使用get请求时,URL字段如下:报错原因:由于添加了非法字符导致无法解析。有些符号在URL中是不能直接传递的,如果要在URL中传递这些特殊符号,那么就要使用他们的编码了。编码的格式为:%加字符的ASCII码,即一个百分号%,后面跟对应字符的ASCII(16进制)码值。例如 空格的编码值是"%20"。如果不使用转义字符,这些编码就会当URL中定义的特殊字符处理。下表中列出了一些URL特殊符号及编码 十六进制值URL 中+号表示空格 %2B空格原创 2020-06-20 02:54:06 · 1934 阅读 · 0 评论 -
为什么重写equals方法,还必须要重写hashcode方法
为什么?是为了提高效率,采取重写hashcode方法,先进行hashcode比较,如果不同,那么就没必要在进行equals的比较了,这样就大大减少了equals比较的次数,这对比需要比较的数量很大的效率提高是很明显的,一个很好的例子就是在集合中的使用;我们都知道java中的List集合是有序的,因此是可以重复的,而set集合是无序的,因此是不能重复的,那么怎么能保证不能被放入重复的元素呢,但靠equals方法一样比较的话,如果原来集合中以后又10000个元素了,那么放入10001个元素,难道要将前面的所转载 2020-05-13 18:35:42 · 236 阅读 · 0 评论 -
int 转 double 的一个坑
int 转 double 的一个坑首先,看这样这个语句int max = (int) Math.pow(2, 31);输出的应该是2322^{32}232 的值,我们看运行结果我们再看看科学计算器算出来的这个时候问题就出来了,我们对比发现,结果相差1。这里就是一个小坑,因为int在内存中的数值范围:2147483647 ~ -2147483648而2322^{32}232刚好比...原创 2020-03-02 00:07:16 · 1839 阅读 · 0 评论 -
Java 死锁检查与快速确定位置
快速找到死锁位置我们在写项目或者写程序的时候,可以会遇到死锁问题,但是这类错误却不好用一般情况查找,代码量很大或者不易察觉,这里介绍使用JDK自带的Java VisualVM 快速定位死锁位置。首先,这里写了一个死锁代码来演示如何查询死锁位置:public class DeadLock { private static Object o1 = new Object(); pr...原创 2020-01-02 19:30:27 · 359 阅读 · 0 评论 -
java处理浮点数小数点后几位
第一种方法:double f = 123.2315455458;BigDecimal b = new BigDecimal(f);double f1 = b.setScale(3,BigDecimal.ROUND_HALF_UP).doubleValue(); //保留3位小数,最后一位四舍五入System.out.println(f1);输出为:123.232第二种方法:D...转载 2019-12-29 11:48:45 · 1560 阅读 · 0 评论 -
java Swing窗口在屏幕中默认显示的位置 居中位置显示
实现新创一个窗口就让其出现在屏幕中央,美观实用~方法一:代码如下:setLocationRelativeTo(null);方法二:首先获取屏幕尺寸大小,根据屏幕尺寸再确定窗口位置Toolkit tk = this.getToolkit();//得到窗口工具条Dimension dm = tk.getScreenSize();setLocation((int)(dm.getWidth...原创 2019-12-23 16:46:25 · 884 阅读 · 0 评论 -
Java char数组转String的一个小坑
【JAVA】char数组转String的一个小坑今天写一个图形用户界面,从JPasswordField中读取密码,存入数据库中,遇到了一个char数组转string的小坑,在这里记录一下。首先我们都知道,char数组转化为int的几种方法: char[] arr = new char[]{}; String str1 = String.valueOf(arr); //不可取 ...原创 2019-12-23 16:31:43 · 961 阅读 · 0 评论