我写了下面的课.
package com.stackoverflow.examples;
import java.util.ArrayList;
/** RandomX. */
public final class Names {
/** List of names. */
private ArrayList<String> names = new ArrayList<String>();
/** Constructor. */
public Names() {
this.names.add("Test");
}
}
Run Code Online (Sandbox Code Playgroud)
在names
Checkstyle 声明的行中给出警告:
不允许声明变量,返回值或"ArrayList"类型的参数.
我该如何解决这个问题,这个警告背后的理由是什么?
在我的代码中,我有一个org.apache.tapestry5.json.JSONObject
名字j
.我想use-name
从该Object 读取属性:
Boolean isUseName = (Boolean) j.opt("use-name");
Run Code Online (Sandbox Code Playgroud)
值可以是true,false或null(如果JSONObject中不存在该条目).现在我想用isUseName
一个条件语句:
if(!isUseName) {System.out.println("No Name to be used.")}
Run Code Online (Sandbox Code Playgroud)
如果"use-name"不在JSONObject中,这会给我一个NullPointerException.一种方法是简单地先检查是否isUseName
为空,例如
if(isUseName != null && !isUseName) {System.out.println("No Name to be used.")}
Run Code Online (Sandbox Code Playgroud)
我想知道,如果有更优雅的方式.isUseName
如果j.opt()
返回null ,是否可以(自动)设置为false ?我想到的一件事是使用三元表达式,但这有多余j.opt("use-name")
:
Boolean isUseName = (j.opt("use-name") != null)
? (Boolean) j.opt("use-name")
: false;
Run Code Online (Sandbox Code Playgroud) Clojure中的以下import语句似乎都是有效的:
(import '(com.example.db.modules DBModule))
(import 'com.example.db.modules.DBModule)
(import '[com.example.db.modules DBModule])
(import (com.example.db.modules DBModule))
(import com.example.db.modules.DBModule)
(import [com.example.db.modules DBModule])
Run Code Online (Sandbox Code Playgroud)
但他们的区别是什么,我为什么要使用其中一个呢?(特别是在一个import-statement中导入多个Classes时)
我想迭代字符串的ArrayList:
List<String> list = new ArrayList<String>();
list.add("A");
list.add("B");
list.add("C");
Run Code Online (Sandbox Code Playgroud)
而不是迭代所有项目:
for(String a : list) {
System.out.println(a);
}
Run Code Online (Sandbox Code Playgroud)
我想排除列表的最后一个元素.目前我使用:
for(int i = 0; i < list.size()-1; i++) {
System.out.println(list.get(i));
}
Run Code Online (Sandbox Code Playgroud)
但我想知道,如果有一个较短的形式.例如在R中,您可以简单地生成没有最后一个元素的列表:
a = c("A", "B", "C")
a[-length(a)]
Run Code Online (Sandbox Code Playgroud) 我见过几个Dockerfile,我觉得人们试图避免使用RUN
命令.但为什么?
所以有什么(但在这个例子中是重复的文本)更喜欢
RUN gem install \
jekyll \
github-pages
Run Code Online (Sandbox Code Playgroud)
过度
RUN gem install jekyll
RUN gem install github-pages
Run Code Online (Sandbox Code Playgroud) 我有一个package.json
包含以下依赖项设置:
"dependencies": {
"bootstrap": "3.1.1",
"electron": "1.3.1"
}
Run Code Online (Sandbox Code Playgroud)
我知道有更新版本的boostrap和电子.
我问自己:有没有办法找出新版本的依赖项是否存在?
在Bower.io中,我会sipmly运行bower list
列出已安装的软件包和可能的更新,然后运行bower update -S
以安装更新.
是否有类似的工作流程npm
?
直接安装较新版本的方法是
"dependencies": {
"bootstrap": "^3.1.1",
"electron": "^1.3.1"
}
Run Code Online (Sandbox Code Playgroud)
并运行npm up
.但似乎没有命令只列出软件包的可能更新.
java ×3
arraylist ×2
bower ×1
checkstyle ×1
clojure ×1
dependencies ×1
difference ×1
docker ×1
dockerfile ×1
eclipse ×1
function ×1
import ×1
isnull ×1
iterator ×1
node.js ×1
npm ×1
npm-install ×1
performance ×1
warnings ×1