程序中有段代码以前运行正常,JDK升级到1.8以后发现数据不显示,debug后发下下面语句运行不对:
if (parentMenu.getMenuId() == childMenu.getParentId())
改成下面这样才能正确运行:
if (parentMenu.getMenuId().equals(childMenu.getParentId()))
原因是数据为Long型,跟String一样得用equals()方法才能判断是否一致。可能是1.8版本以后对数据验证变严格了。程序中有段代码以前运行正常,JDK升级到1.8以后发现数据不显示,debug后发下下面语句运行不对:
if (parentMenu.getMenuId() == childMenu.getParentId())
改成下面这样才能正确运行:
if (parentMenu.getMenuId().equals(childMenu.getParentId()))
原因是数据为Long型,跟String一样得用equals()方法才能判断是否一致。可能是1.8版本以后对数据验证变严格了。ThreadLocal的使用,,,實際上相當於維護了一個Map,其中以鍵值對的形式,存儲了某一個數據被多個線程訪問所對應的值。當然這個數據只能有
JSONArray序列化日期最初用到, 這個是全局設置,會有風險。 String[] dateFormats = new String[] {"yyyyMMdd"}; JSONUtils.getM