以下哪个选项被认为是循环使用的好方法String
?
我们应该使用charAt
或转换为char数组吗?我正在寻找所有方面的答案,包括性能和使用的空间
public static void doChose (String str) {
for (int i = 0; i < str.length(); i++) {
System.out.println(str.charAt(i));
}
// vs
char[] chars = str.toCharArray();
for (char c : chars) {
System.out.println(c);
}
}
Run Code Online (Sandbox Code Playgroud) 很长一段时间,我的Eclipse Juno不会通过快捷方式让我的重做我的撤销,尽管绑定设置正确并且我没有改变任何东西.你可以看到这里出现了问题,因为快捷方式甚至不再列出了.
这就是它在设置中的设置方式:
有没有人遇到同样的问题?我在OSX 10.8.3上的32和64位Eclipse Juno Service Release 2,Build 20130225-0426上遇到了问题,但我认为它已经存在于10.8.2.
当我挣扎了好几个小时后,我终于找到了那些令人烦恼ClassCastException
的东西来自哪里,我认为这些是由Hibernate制作的,而且它是enum
映射的.
但是,他们都来自我的JSF视图,在这里我通过List
从
<h:selectManyCheckbox value="#{createUserManager.user.roles}" ... >
<f:selectItems value="#{createUserManager.roles}"/>
</h:selectManyCheckbox>
Run Code Online (Sandbox Code Playgroud)
回到我的支持bean.
我的数据只包含枚举的值:
public Role[] getRoles()
{
return Role.values();
}
.
当我roles
在User
-class中测试了setter 并得到了这个时,我感到非常震惊:
public void setRoles(List<Role> paramRoles) {
System.out.println(paramRoles.get(0) instanceof Role); //output: false
for(Role role : paramRoles){ ...} //crashes with ClassCastException
}
Run Code Online (Sandbox Code Playgroud)
更改List<Role> paramRoles
到List<String> paramRoles
完美.
这怎么可能?这些泛型不应该是类型安全的还是与JSF有关的类型擦除会导致整个类型的安全问题?
也不应的返回值h:selectManyCheckbox
是List<Role>
,像我通过传递f:selectItems
?
我刚刚更新了我的Wildfly-8.1.0.Final
安装8.2.0.Final
并部署了我的WAR应用程序并遇到了部署错误.它说
ERROR [org.jboss.as.controller.management-operation] (DeploymentScanner-threads - 2)
JBAS014613: Operation ("deploy") failed - address: ([("deployment" => "MYAPPNAME.war")]) -
failure description: {"JBAS014771: Services with missing/unavailable dependencies" => [
Run Code Online (Sandbox Code Playgroud)
然后EJB
以下列方式列出我的所有内容:
"jboss.deployment.unit.\"MYAPPNAME.war\".component.EJBNAME.CREATE is missing [jboss.security.security-domain.java:/jaas/MYSECURITYDOMAIN]"
Run Code Online (Sandbox Code Playgroud)
当我回到8.1.0.Final
一切按预期工作的时候.
我EJB
的所有s都被声明,@Stateless
并且存在空beans.xml
,CDI
因为没有任何其他特殊配置EJB
或CDI
除compontents.xml
以下内容:
<components>
<component name="org.jboss.seam.core.init">
<!-- JNDI name pattern for JBoss EJB 3.0 -->
<property name="jndiPattern">#{ejbName}/local</property>
</component>
</components>
Run Code Online (Sandbox Code Playgroud)
有没有人遇到这个案子,可以给我一个如何解决它的提示?
我有如下所列的日期:
17/03/2015 09:38:39 AM
17/03/2015 10:52:26 AM
10/03/2015 08:30:56 AM
02/03/2015 09:18:10 AM
02/03/2015 09:37:23 AM
02/03/2015 11:25:01 AM
02/03/2015 11:29:00 AM
02/03/2015 11:42:38 AM
02/03/2015 12:04:39 PM
02/03/2015 12:09:05 PM
02/03/2015 01:17:09 PM
02/03/2015 01:29:08 PM
Run Code Online (Sandbox Code Playgroud)
我希望他们按照以下结果对它们进行排序:(同一日期应按时间戳排序)
17/03/2015 10:52:26 AM
17/03/2015 09:38:39 AM
10/03/2015 08:30:56 AM
02/03/2015 01:29:08 PM
02/03/2015 01:17:09 PM
02/03/2015 12:09:05 PM
02/03/2015 12:04:39 PM
02/03/2015 11:42:38 AM
02/03/2015 11:29:00 AM
02/03/2015 11:25:01 AM
02/03/2015 09:37:23 AM
02/03/2015 09:18:10 AM
Run Code Online (Sandbox Code Playgroud)
我尝试使用代码,但没有获得所需的输出:
Collections.sort(listOfDate, new Comparator<SR>() {
public …
Run Code Online (Sandbox Code Playgroud) 刚刚在 Eclipse 2021-09 上尝试了 JDK17,结果失败并显示java.lang.VerifyError
,这本身并没有多大帮助。我追踪到一个 switch 语句,该语句获取从一个Map
或另一个泛型类型中提取的值。如果我在 switch 语句中使用局部变量,一切都会按预期工作。
测试代码:
import java.util.HashMap;
import java.util.Map;
public class SwitchFail {
public static void main(String[] args) {
//doesnt work
Map<Integer, String> stringMap = new HashMap<>();
stringMap.put(1, "Test");
switch(stringMap.get(1)) {
}
//works
String plainString = "Test";
switch(plainString) {
}
}
}
Run Code Online (Sandbox Code Playgroud)
这会引发以下错误:
Error: Unable to initialize main class SwitchFail
Caused by: java.lang.VerifyError: Bad type on operand stack
Exception Details:
Location:
SwitchFail.main([Ljava/lang/String;)V @33: invokevirtual
Reason:
Type 'java/lang/Object' (current frame, stack[0]) is …
Run Code Online (Sandbox Code Playgroud) java ×4
cdi ×1
date ×1
ecj ×1
eclipse ×1
eclipse-jdt ×1
eclipse-juno ×1
ejb ×1
generics ×1
java-17 ×1
jboss-weld ×1
jsf ×1
macos ×1
string ×1
type-safety ×1
wildfly ×1
wildfly-8 ×1