1.出现org.omg.CORBA.portable错误
我本地开发使用的是java8,远程服务器使用的是openjdk11,在maven打包的时候,出现了一个奇怪的问题
刚开始觉得莫名其妙,后来打开GlobalExceptionHandler类一看,原来引入了org.omg.CORBA.portable.ResponseHandler,虽然最后没有用上,但是还是影响了编译。
把这个去掉就可以了。
2.java中List遍历删除元素
1 2 3 4 5 6
| Iterator<RealTime> iterator = result.iterator(); while (iterator.hasNext()) { if(resultSet!=null&&resultSet.next()){ iterator.remove(); } }
|
3.Double数相加
两个double类型的数相加,比如0.1+0.1,本来应该等于0.2,但是使用double类型的值进行相加,最后可能得到的是0.200001这种,并不是我想要的。
加完之后返回到前台
这里的28345.827999999998,很明显后面的位数都是无效的。
解决方法是使用BigDecimal进行相加(使用这个会不会带来性能的影响呢?)
1 2 3
| BigDecimal b1=new BigDecimal(Double.toString(d1)); BigDecimal b2=new BigDecimal(Double.toString(d2)); return b1.add(b2).doubleValue();
|
4.BigDecimal类型
1 2 3 4 5 6
| BigDecimal b1 = new BigDecimal(v1); BigDecimal b2 = new BigDecimal(v2); b1.add(b2); b1.subtract(b2); b1.divide(b2); b1.multiply(b2);
|
5.取出list集合中的某一列属性
需求就是,我的list是一个实体类的集合,如何快速获取到这个集合中所有id号的集合呢?
1 2
| List<String> id_list=list.stream().map(User::getId).collect(Collectors.toList());
|
6.StringBuilder删除最后一个字符
1 2 3 4 5
| StringBuilder sqlbuilder=new StringBuilder();
sqlbuilder.setLength(result.length()-1);
sqlbuilder.deleteCharAt(sqlbuilder.length()-1);
|
7.利用反射获取对象的全部属性值
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
| public class Utils { private final static Logger logger= LoggerFactory.getLogger(Utils.class); public static String showAllProperty(RealTime realTime){ StringBuilder result=new StringBuilder(); try { Class<?> c = null; c = Class.forName("com.bibichuan.bigdata.Entity.RealTime"); Field [] fields = c.getDeclaredFields();
for(Field f:fields){ f.setAccessible(true); } for(Field f:fields){ Object property=f.get(realTime); String type=f.getType().getName(); if(property==null){ property=""; } if(f.getName().equals("RecordTime")){ String t=property.toString(); int i=t.indexOf("."); property=t.substring(0,i>0?i:t.length()); } if(type.equals("java.lang.String")){ property="'"+property+"'"; } result.append(property+","); } if(result.length()>0){ result.setLength(result.length()-1); } }catch (Exception e){ logger.error("showAllProperty",e); } return result.toString(); } }
|
8.Variable used in lambda expression should be final or effectively final
在idea中的stream().foreach中试图改变外部变量的值的时候,会出现这个错误。
怎么办,别用啊。
8.本地lib文件