java 问题汇总

2020-12-22  本文已影响0人  Mr菜头

1、将字符串的首字母大写

  //首字母大写
    public static String captureName(String name) {
//低效的
   //     name = name.substring(0, 1).toUpperCase() + name.substring(1);
//        return  name;
//大佬写的
        char[] cs=name.toCharArray();
        cs[0]-=32;
        return String.valueOf(cs);
        
    }

2、java Consumer (函数式接口) 运用

    public static void main(String[] args) {
        hello(w->{
            System.out.println("lameda");
        });
    }
    

    public static void hello(Consumer<Void> c) {
        System.out.println("helloMethod");
        c.accept(null);
        System.out.println("hellEnd");
    }

执行结果


image.png

3、int 转 16进制字符串

  String hex = String.formart("%02x",101);

4、将 JSON 串转换为 java 对象

 BaseResponse<List<VO>> baseVO = JSON.parseObject(ResponStr,new TypeReference<BaseResponse<List<VO>>>() {}.getType());

5、获取当前运行程序所在的根目录

   System.getProperty("user.dir");

6、eureka 报 java.net.UnknownHostException

  eureka.client.fetch-registry=true
  eureka.client.register-with-eureka=true
  # 下面这行是重点
  eureka.instance.prefer-ip-address=true

spring cloud feign 发送 get请求 但目标服务器 返回post https://blog.csdn.net/justry_deng/article/details/80785973

7、mybatis-plus 进行根据传入信息排序

      @Override
    public BasePageVO<BaseVO> listPage(DTO dto, Integer page,
                                                       Integer pageSize,String orderBy) {
        IPage<BaseVO> iPage = new Page(page, pageSize);
        iPage.orders().add(OrderItem.asc("delivery_order_state"));
        if(orderBy == null) {
            iPage.orders().add(OrderItem.desc("create_time"));
        }else {
            String column = CaseFormat.LOWER_CAMEL.to(CaseFormat.LOWER_UNDERSCORE, orderBy);
            iPage.orders().add(column.startsWith("-") ? OrderItem.desc(column.substring(1)) : OrderItem.asc(column));
        }
        IPage<BaseVO> pageResult = BaseMapper.selectPage(iPage, dto);
        return new BasePageVO<BaseVO>((int) pageResult.getTotal(), pageResult.getRecords());
    }

8 redis 获取过期时间

/**
 * 从redis中获取key对应的过期时间;
 * 如果该值有过期时间,就返回相应的过期时间;
 * 如果该值没有设置过期时间,就返回-1;
 * 如果没有该值,就返回-2;
 * @param key
 * @return
 */
public long expire(String key) {
    return redisTemplate.opsForValue().getOperations().getExpire(key);
}

上一篇下一篇

猜你喜欢

热点阅读