public static <T> T deserialize(String str) {
        if (StringUtils.isEmpty(str)) {
            return null;
        }
        ByteArrayInputStream bis = null;
        ObjectInputStream ois = null;
        try {
            Base64.Decoder decoder = Base64.getDecoder();
            bis = new ByteArrayInputStream(
                    decoder.decode(str));
            ois = new ObjectInputStream(bis);
            return (T) ois.readObject();
        } catch (Exception e) {
            throw new RuntimeException("deserialize session error", e);
        } finally {
            CommonUtils.closeIOStream(bis, null);
            CommonUtils.closeIOStream(ois, null);
        }
    }
public static < T > T deserialize ( String str ) { if ( StringUtils . isEmpty ( str ) ) { return null ; } ByteArrayInputStream bis = null ; ObjectInputStream ois = null ; try { Base64 . Decoder decoder = Base64 . getDecoder ( ) ; bis = new ByteArrayInputStream ( decoder . decode ( str ) ) ; ois = new ObjectInputStream ( bis ) ; return ( T ) ois . readObject ( ) ; } catch ( Exception e ) { throw new RuntimeException ( "deserialize session error" , e ) ; } finally { CommonUtils . closeIOStream ( bis , null ) ; CommonUtils . closeIOStream ( ois , null ) ; } }
将一个序列化字符串反序列化成对象

@param str 序列化字符串
@param <T>
@return 返回被反序列化后的对象