NutzCN Logo
问答 更新到nutz 1.r.60后 工具类Mapl.cell(prop, path); 如果path为null就会抛异常。
发布于 2867天前 作者 qq_3e9aa56e 1940 次浏览 复制 上一个帖子 下一个帖子
标签:

更新到nutz 1.r.60后 工具类Mapl.cell(prop, path); 如果path为null就会抛异常。以前没问题,希望能改进下。

跟踪查看是:
Strings类1129行控指针异常导致的

/**
     * 将字符串按照某个或几个分隔符拆分。 其中,遇到字符串 "..." 或者 '...' 并不拆分
     * 
     * @param str
     *            要被拆分的字符串
     * @param keepQuote
     *            是否保持引号
     * @param seps
     *            分隔符
     * @return 拆分后的数组
     */
    public static String[] split(String str, boolean keepQuote, boolean keepBlank, char... seps) {
        List<String> list = new LinkedList<String>();
        char[] cs = str.toCharArray();
        StringBuilder sb = new StringBuilder();
        for (int i = 0; i < cs.length; i++) {
            char c = cs[i];
11 回复

没有path的时候,原本返回啥

Strings类方法split本身有问题。参数str为空直接抛异常了。

@wendal Strings类方法split本身有问题。参数str为空直接抛异常了。

我奇怪的是,为啥原本的cell方法会容忍path是null

@qq_3e9aa56e Strings那方法就没改过

@wendal 你的意思是str参数可以为空,这个方法没毛病么?

原本的版本是多少

这个修改导致的: https://github.com/nutzam/nutz/commit/b6c24dd53441e7b7ca84cee321ec2dc8c5949820

原本的写法是 "objs." + path 然后分解, 后来改成先分解,然后添加objs到数组.

那么, 我还有最后一个疑问, 为啥调用Mapl.cell的时候path传null, 为了实现什么功能呢???

我已经在我们方法前加上空值判断了,但是感觉Mapl.cell里面加个判断更合适点。代码更健壮???^_^

添加回复
请先登陆
回到顶部