Java 后台

394 阅读1分钟

数据类型转换

//int > String
String.valueOf(i)
Integer.toString(i)
i+""
//String  > int
s="10";
int i;
s.matches("\\d+")//判断String能否转为int
第一种方法:i=Integer.parseInt(s);//默认十进制
第二种方法:i=Integer.valueOf(s).intValue();

注意:String 转int要注意的是,因为可能字符串种存在非数字,因此要抛异常。

  • 转换Double为Float
public static Float convertToFloat(Double doubleValue) {
    return doubleValue == null ? null : doubleValue.floatValue();
}
  • 转换double为Float
public static Float convertToFloat(double doubleValue) {
    return (float) doubleValue;
}

左侧自动补全0

//待测试数据
int i = 1;
//得到一个NumberFormat的实例
NumberFormat nf = NumberFormat.getInstance();
//设置是否使用分组
nf.setGroupingUsed(false);
//设置最大整数位数
nf.setMaximumIntegerDigits(4);
//设置最小整数位数    
nf.setMinimumIntegerDigits(4);
//输出测试语句
System.out.println(nf.format(i));

获取时间

1
String string = new SimpleDateFormat("yyyy-MM-dd").format(new Date()).toString();
2
Calendar calendar = Calendar.getInstance(); 
	 System.out.println(calendar.get(Calendar.YEAR)); 
	 System.out.println(calendar.get(Calendar.MONTH)+1);
	 System.out.println(calendar.get(Calendar.DATE)); 

Double保留后小数位 几种方法

返回double型的

  1. 能四舍五入
double d = 114.145;
d = (double) Math.round(d * 100) / 100;
System.out.println(d);
double d = 114.145;
BigDecimal b = new BigDecimal(d);
d = b.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();        
System.out.println(d);
daima hanyi
BigDecimal.ROUND_HALF_UP 四舍五入
BigDecimal.ROUND_HALF_DOWN 五舍六入
BigDecimal.ROUND_UP 进位处理(就是直接加1)
BigDecimal.ROUND_DOWN 直接去掉尾数

返回String型的

  1. #.00表示保留后两位,它的处理方式是直接截掉不要的尾数,不四舍五入。
double d = 114.145;
DecimalFormat df = new DecimalFormat("#.00");
String str = df.format(d);
System.out.println(str);

2.%.2f表示保留后两位,能四舍五入。

double d = 114.145;
String.format("%.2f", d);

引用链接

JAVA8 forEach 可为空 不可(break,contiunte)

for (DeptVO dto : dtos) {
                result = this.del(dto);
                if((Integer)result.get("code") == 0){
                    return result;
                }
            }
            /*dtos.forEach(dto -> {
                this.del(dto);
            });*/

解决唯一值后台校验问题(编辑时)

还需理解

if(oldCode!=null && !dto.id.equals(oldCode.id)){//oldCode == null?false:!dto.id.equals(oldCode.id)
            data.put("code",0);
            data.put("msg","合同编号已存在!");
            log.error("[新增],结果=合同编号已存在!");
            return data;
        }