小编Rom*_*man的帖子

为什么java要求第一行构造函数应该调用父构造函数?如果我们绕过这个要求,是否有任何陷阱?

我有下一个代码:

class Foo {

   public Foo (String param) { ... }
}

class Bar extends Foo {

   public Bar () {
      super (doSmth());
      ...
   }

   private static String doSmth () {
      //what I can NOT do here?
   }
}
Run Code Online (Sandbox Code Playgroud)

我想知道它安全吗?doSmth方法有什么限制吗?

java constructor

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

如何使用JSF和Facelets实现一些if-then逻辑?

我有一个豆田status.根据status值,应该应用不同的css类来渲染它.

所以,我需要这样的东西(离真实伪代码很远):

if status == "Approved"
     cssClass = "green"
if status == "Rejected"
     cssClass = "red"
<span class="cssClass">Some info</span>
Run Code Online (Sandbox Code Playgroud)

我试图申请,jstl但我不能使它与facelets和jsf(但我听说这是可能的,也许它的真相).这是代码:

<c:choose>
    <c:when test="#{report.approved}">
        <c:set var="statusClass" value="approved"/>
    </c:when>
    <c:when test="#{report.rejected}">
        <c:set var="statusClass" value="rejected"/>
    </c:when>
    <c:when test="#{report.inProgress}">
        <c:set var="statusClass" value="progress"/>
    </c:when>
    <c:when test="#{report.pendingHR}">
        <c:set var="statusClass" value="pending"/>
    </c:when>
</c:choose>
<span class="status ${statusClass}">#{report.formattedStatus}</span>
Run Code Online (Sandbox Code Playgroud)

如何使用JSF/Facelets?

java jsf jstl facelets

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

如何更改XML文件[Java]中某些元素和属性的值?

我正在阅读一个带有SAX解析器的XML文件(这部分可以改变它,这是一个很好的理由).

当我找到必要的属性时,我需要更改它们的值并将生成的XML文件保存为新文件.

我怎样才能做到这一点?

java xml sax

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

如何获取Spring事务管理器实例?

我使用注释来标记应该在事务中执行的方法.

但是,在一个地方我需要transactionManager.rollback()手动完成,没有注释.我怎样才能获得transactionManager对象?

java spring transactions spring-transactions spring-3

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

在Java 5中引入的Enum类的目的是什么?

我的建议:

1)要么enum只是在编译之前存在(就像泛型;但是我从来没有听过任何关于它的内容,而它在任何地方写的都是在编译后删除了泛型)

2)或Enum是一种以某种方式保持向后兼容性的方法(但我还没有看到这种方式).

还有其他建议吗?(顺便问一下,你有没有在你的代码中使用它?)

UPD:http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Enum.html

换句话说,有一个enum关键字和Enum类.它们都出现在Java 5中.问题是:为什么我们需要两者?

第二个问题:为什么Enum成为API的一部分?

java enums

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

为什么我在这里得到StackOverflowError?

为什么这个java代码会产生StackOverflowError?我知道这与递归泛型类型参数有某种联系.但我不明白整个机制.

public class SomeClass<T extends SomeClass> {

    SomeClass() {
        new SomeClassKiller();
    }

    private class SomeClassKiller extends SomeClass<T> {
    }

    public static void main(String[] args) {
        new SomeClass();
    }
}
Run Code Online (Sandbox Code Playgroud)

java stack-overflow generics recursion

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

如何使用groovy集合的collect()方法调用多个参数的闭包?

假设我有一个闭包:

def increment = {value, step ->
   value + step 
}
Run Code Online (Sandbox Code Playgroud)

现在我想循环遍历整数集合的每个项目,用5增加它,并将新元素保存到新集合:

def numbers = [1..10]
def biggerNumbers = numbers.collect {
      it + 5
} 
Run Code Online (Sandbox Code Playgroud)

现在我想通过使用increment闭包来实现相同的结果.我怎样才能做到这一点?

应该是这样的(下面的代码错误):

def biggerNumbers = numbers.collect increment(it, 5) //what's the correct name of 'it'??
Run Code Online (Sandbox Code Playgroud)

collections groovy closures

3
推荐指数
2
解决办法
3814
查看次数

有没有人成功在Grinder 3的jython脚本中使用'yield'关键字?

我有这个功能:

def ngrams(word):
    for i in range(1, len(word) + 1):
        yield word[:i]
Run Code Online (Sandbox Code Playgroud)

..我得到了一个错误

2012-03-09 19:37:31,928 ERROR worker-bootstrap: Error running worker process
net.grinder.scriptengine.jython.JythonScriptExecutionException: SyntaxError: ('invalid syntax', ('C:\\grinder-3.7.1\\lib
\\.\\nb-romg-file-store\\current\\grinder_test.py', 72, 15, '        yield word[:i]  '))
        (no code object) at line 0
Run Code Online (Sandbox Code Playgroud)

有没有办法让yield工作?我在jython控制台中尝试了相同的功能- 如果正常工作.

python yield jython grinder

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

如何定义接受参数化闭包作为参数的Groovy函数?

我想定义一个函数,它接受另一个函数(闭包)作为参数.第二个函数应该接受1个参数.

目前,我只有一个简单的签名:

def func1(func2) {
   func2("string")
}
Run Code Online (Sandbox Code Playgroud)

有没有办法明确指定,func2应该接受1个参数(或更少)?

groovy

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

如何并行运行一组任务并等到所有这些任务完成java并发工具?

我有N个任务,我希望它们与N个线程并行处理.我想等到所有任务完成,存储结果,然后运行下N个任务(依次循环).

来自java util并发的哪些抽象可以帮助我?

我查看了ExecutorService.invokeAll(),但是它返回了一个期货列表,所以我应该循环遍历它们直到所有这些完成.

我想,应该有更简单的方法来计算一组任务.

java concurrency java.util.concurrent

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