1.出现org.omg.CORBA.portable错误
我本地开发使用的是java8,远程服务器使用的是openjdk11,在maven打包的时候,出现了一个奇怪的问题
刚开始觉得莫名其妙,后来打开GlobalExceptionHandler类一看,原来引入了org.omg.CORBA.portable.ResponseHandler,虽然最后没有用上,但是还是影响了编译。
把这个去掉就可以了。
2.java中List遍历删除元素1
2
3
4
5
6Iterator 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
3BigDecimal 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
6BigDecimal 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// 类User有一个getId方法
List id_list=list.stream().map(User::getId).collect(Collectors.toList());
6.StringBuilder删除最后一个字符1
2
3
4
5StringBuilder 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
39public 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);
}
//输出p1的所有属性
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中试图改变外部变量的值的时候,会出现这个错误。
怎么办,别用啊。