我有这样的DTD:http://fast-code.sourceforge.net/template.dtd 但是当我包括在XML我得到警告:该文档没有检测到语法约束(DTD或XML模式).xml是:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE templates PUBLIC "//UNKNOWN/" "http://fast-code.sourceforge.net/template.dtd">
<templates>
<template type="INSTANCE_OF_CLASS">
<description>Used to Create instance of class</description>
<variation>asasa</variation>
<variation-field>asasa</variation-field>
<class-pattern>asasa</class-pattern>
<getter-setter>setter</getter-setter>
<allowed-file-extensions>java</allowed-file-extensions>
<number-required-classes>1</number-required-classes>
<allow-multiple-variation>false</allow-multiple-variation>
<template-body>
<![CDATA[
// Creating new instance of ${class_name}
final ${class_name} ${instance} = new ${class_name}();
#foreach ($field in ${fields})
${instance}.${field.setter}(${field.value});
#end
]]>
</template-body>
</template>
</templates>
Run Code Online (Sandbox Code Playgroud)
编辑:我更改了xml,我现在收到此错误:
元素类型的内容"模板"必须描述?,变异场匹配"(,变化?,允许 - 多变化?,类图案?,消气部件设置器?,允许文件的扩展?,数须─班?,模板型)".
在Java中的for循环中防止null的最佳方法是什么?
这看起来很难看:
if (someList != null) {
for (Object object : someList) {
// do whatever
}
}
Run Code Online (Sandbox Code Playgroud)
要么
if (someList == null) {
return; // Or throw ex
}
for (Object object : someList) {
// do whatever
}
Run Code Online (Sandbox Code Playgroud)
可能没有任何其他方式.他们应该把它放在for构造本身,如果它是null,那么不要运行循环?
我想以通用的方式创建一个KeyValue类,这就是我写的:
public class KeyValue<T,E>
{
private T key;
private E value;
/**
* @return the key
*/
public T getKey() {
return key;
}
/**
* @param key the key to set
*/
public void setKey(T key) {
this.key = key;
}
/**
* @return the value
*/
public E getValue() {
return value;
}
/**
* @param value the value to set
*/
public void setValue(E value) {
this.value = value;
}
public KeyValue <T, E>(T k , E …Run Code Online (Sandbox Code Playgroud) 我有一些JSON具有以下结构:
{"source":[
{"name":"john","age":20},
{"name":"michael","age":25},
{"name":"sara", "age":23}
]
}
Run Code Online (Sandbox Code Playgroud)
我将此JSON字符串命名为mainJSON.我正在尝试使用以下Java代码访问元素"name"和"age":
JSONArray jsonMainArr = new JSONArray(mainJSON.getJSONArray("source"));
for (int i = 0; i < jsonMainArr.length(); i++) { // **line 2**
JSONObject childJSONObject = jsonMainArr.getJSONObject(i);
String name = childJSONObject.getString("name");
int age = childJSONObject.getInt("age");
}
Run Code Online (Sandbox Code Playgroud)
我在第2行显示以下异常:
org.json.JSONException: JSONArray initial value should be a string or collection or array.
Run Code Online (Sandbox Code Playgroud)
请指导我哪里弄错了以及如何纠正这个问题.
我有一些switch语句,如下所示.请注意,没有休息.Findbugs仅在第二个案例陈述中报告错误.错误是:在一个案例落入下一个案例的地方找到切换语句.
switch(x) {
case 0:
// code
case 1:
// code
case 2:
// code
}
Run Code Online (Sandbox Code Playgroud) 我知道为什么不应该这样做.但有没有办法向外行人解释为什么这是不可能的.你可以轻松地向外行解释:Animal animal = new Dog();.狗是一种动物,但是一系列的狗并不是动物的清单.
我想创建一个异常处理程序,它将拦截我项目中的所有控制器.这可能吗?看起来我必须在每个控制器中放置一个处理程序方法.谢谢你的帮助.我有一个发送Json响应的弹簧控制器.因此,如果发生异常,我想发送一个可以从一个地方控制的错误响应.
java ×7
eclipse ×2
generics ×2
spring ×2
collections ×1
covariance ×1
dtd ×1
findbugs ×1
for-loop ×1
interceptor ×1
json ×1
list ×1
loops ×1
oop ×1
parsing ×1
spring-mvc ×1
syntax ×1
validation ×1
xml ×1