小编edo*_*eld的帖子

如何在 IntelliJ 中将局部变量提取为类变量?

我希望能够将方法中声明的局部变量转换为类变量。请看下面的例子。

// This is my class now
public class FOO {
    public getX() {
        String X = "test"
        return X;
    }
}
Run Code Online (Sandbox Code Playgroud)

使用键盘快捷键,变量 X 应该转换为类变量。最终结果应该是这样的:

// This is what my class should look like afterwards
public class FOO {
    String X = "test"
    public getX() {
        return X;
    }
}
Run Code Online (Sandbox Code Playgroud)

有没有办法在 IntelliJ 中做到这一点?

java keyboard-shortcuts intellij-idea

1
推荐指数
1
解决办法
873
查看次数

为什么这个程序返回一个原子列表?

所以我在学校学习Lisp,我必须创建的程序之一就是使用mapcan复制remove-if-not的功能.我已经创建了程序,它工作正常,但我不明白输出.

具体来说,如果我要跑:

(findall 'numberp '(1 a 3))
Run Code Online (Sandbox Code Playgroud)

输出为:(1 3)

该计划如下:

(defun findAll (fct l)
(cond
        ((null l) nil)
        ((mapcan (lambda(x) (if (funcall fct x) (list x) nil )) l))
    )
)
Run Code Online (Sandbox Code Playgroud)

我对解决方案的理解如下:"对于列表中的每个元素,我调用lambda函数.如果函数的结果适合并且元素x返回true,则返回括号括起的元素,否则返回nil"

具体我不明白的是,对"list(x)"的一系列连续调用最终将如何返回原子列表,如(1 2).

lisp common-lisp

0
推荐指数
1
解决办法
51
查看次数