我有2个fors,嵌套后我有一些代码,如果条件在嵌套for中为真,我不想执行.如果我使用break代码将执行,所以(正如我在SCJP中学到的)我用于continue label;外部for.这是Java的弃用用法吗?老式的?有人建议使用递归或其他东西,但对我来说这是完全正常,简单,最新和完美的方式.
here:
for (bla bla) {
for (bla bla) {
if (whatever) continue here;
}
// some code I don't want to execute if whatever is true
}
Run Code Online (Sandbox Code Playgroud)
谢谢
编辑:
如果我将我的问题改为:你怎么能在多个嵌套的fors之间"导航"?这种方法是"推荐"方式吗?因为这就是它在SCJP Book中所说的.如果不是..这将意味着,Katherine Sierra和Bert Bates是错误的?
编辑2:
为什么continue label;气馁?我想要回答OOP或Java的概念或内部工作,可能会出错.
有XXXUtils我可以做的地方
String s = XXXUtils.join(aList, "name", ",");
Run Code Online (Sandbox Code Playgroud)
哪个"name"是来自对象的JavaBeans属性aList.
我发现只有StringUtils具有join的方法,但它只是一个变换List<String>成一个分离String.
就像是
StringUtils.join(BeanUtils.getArrayProperty(aList, "name"), ",")
Run Code Online (Sandbox Code Playgroud)
这很快,值得使用.BeanUtils会抛出2个已检查的异常,所以我不喜欢它.
java apache-commons separator apache-stringutils apache-commons-collection
当涉及到JSF视图技术时,我并不是百分之百地说明了JSP和Facelets之间的区别.
我在谷歌搜索,每个人都以同样的方式解释差异(一些只是复制其他人).
我想知道如果我有一个JSP页面(文档样式,使用jsp:root,所以没有scriptlet)或Facelets页面,当reuqest进入时,以及在RenderResponse 中执行每个JSF标记时有什么区别.ui:include和jsp:include
之间的区别是什么?我理解JSP/Servlet非常好,但JSF内部并不是那么多.
谢谢,我希望你不会像所有其他JSP vs Facelets问题一样看到这个问题.
ps:我发现的一小部分响应是Facelets没有在Java Servlet Class中转换,就像JSP一样(这使得它更快),而是使用SAX解析器,我不明白它在它的作用回调方法.
class X {
Y y; // manyToOne
}
class Y {
Long id;
}
Run Code Online (Sandbox Code Playgroud)
@NamedQuery(name = "someName", query = "from X where y.id in :ids")
Run Code Online (Sandbox Code Playgroud)
我在实体上有公共的,表格的,实体的以及所有其他内容,但是我没有在这里写下。
TypedQuery<X> query = getEntityManager().createNamedQuery("someName", X.class);
query.setParameter("ids", someListOfLongs); // HERE I GET THE ERROR
queryFinal.getResultList();
Run Code Online (Sandbox Code Playgroud)
Parameter value [[Ljava.lang.Object;@90d0bf] was not matching type [java.lang.Long]
我尝试使用或不使用(),将Hibernate-Core的版本更改为3.6.4(从JBoss 6.0.0.Final开始),否则,如果我编写in :ids不使用()的程序,则会出现错误。
请帮忙。
The IN always worked, the problem was that List<Long> wasn't actually List<Long> was List<Object[]>. Thanks
SELECT *
FROM TAB1
LEFT JOIN TAB2 ON TAB2.ID_TAB1 = TAB1.ID
JOIN TAB3 ON TAB3.ID = TAB2.ID_TAB3;
Run Code Online (Sandbox Code Playgroud)
和
SELECT *
FROM TAB1
LEFT JOIN (SELECT *
FROM TAB2
JOIN TAB3 ON TAB3.ID = TAB2.ID_TAB3) T
ON T.ID_TAB1 = TAB1.ID;
Run Code Online (Sandbox Code Playgroud)
我@EmbeddedId在一个字段上有一个实体,我覆盖了一个字段的访问类型,使其可以Property访问.但这被忽略了EclipseLink,Hibernate好吧.Netbeans也因此显示错误:
该类必须使用一致的访问类型(字段或属性).
没有为此实体层次结构定义ID.
@EmbeddedId
private OneId id;
@Transient
private String cosmin;
@Access(AccessType.PROPERTY) // ??
public String getCosmin() {
return cosmin;
}
public void setCosmin(String cosmin) {
this.cosmin = cosmin;
}
Run Code Online (Sandbox Code Playgroud)