小编Ale*_*yak的帖子

Java Class.cast()与强制转换运算符

在我的C++时代被教授关于C风格演员的邪恶,我很高兴首先发现在Java 5中java.lang.Class已经获得了一种cast方法.

我认为最后我们有一个处理铸造的OO方式.

结果Class.caststatic_castC++不同.它更像是reinterpret_cast.它不会在预期的位置生成编译错误,而是会延迟到运行时.这是一个简单的测试用例,用于演示不同的行为.

package test;

import static org.junit.Assert.assertTrue;

import org.junit.Test;


public class TestCast
{
    static final class Foo
    {
    }

    static class Bar
    {
    }

    static final class BarSubclass
        extends Bar
    {
    }

    @Test
    public void test ( )
    {
        final Foo foo = new Foo( );
        final Bar bar = new Bar( );
        final BarSubclass bar_subclass = new BarSubclass( );

        {
            final Bar bar_ref = bar;
        }

        { …
Run Code Online (Sandbox Code Playgroud)

java generics casting compiler-warnings

104
推荐指数
5
解决办法
16万
查看次数

Enum.values()vs EnumSet.allOf().哪个更优选?

我在引擎盖下查看EnumSet.allOf它看起来非常有效,特别是对于少于64个值的枚举.

基本上所有集合共享所有可能的枚举值的单个数组,并且唯一的另一条信息是位掩码,如果allOf是一次设置的话.

另一方面,Enum.values()似乎有点黑魔法.此外,它返回一个数组,而不是一个集合,因此在许多情况下,它必须使用Arrays.asList()进行修饰,以便在任何需要收集的地方使用.

那么,应该EnumSet.allOf更优选Enum.values吗?

更具体地说,for应该使用哪种形式的迭代器:

for ( final MyEnum val: MyEnum.values( ) );
Run Code Online (Sandbox Code Playgroud)

要么

for ( final MyEnum val: EnumSet.allOf( MyEnum.class ) );
Run Code Online (Sandbox Code Playgroud)

java enums

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

maven 3的超级pom在哪里?

对于maven 2它曾经是

M2_HOME/lib目录/ Maven的2.2.1-uber.jar:组织/阿帕奇/的Maven /项目/ POM-4.0.0.xml

但3.0.x没有一个jar.

maven-3 maven

38
推荐指数
2
解决办法
2万
查看次数

bash中的主题?

是否可以在bash脚本中使用线程.我在java中有一个驱动程序类,我试图同时运行多个实例.我知道这样做的唯一方法是在bash中使用线程,但我不确定这是否可能.任何帮助,将不胜感激

linux bash terminal

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

是否有Java 7中的ImmutableEnumSet计划?

我想拥有EnumSet的所有效率并传递它,而不必担心有人会修改它.

java collections enums java-7

25
推荐指数
2
解决办法
5079
查看次数

从云信息模板初始化时,有没有办法标记根卷?

我正在通过云形成脚本创建一个实例.

我发现连接操作系统分区的唯一方法是通过"BlockDeviceMappings"属性.(我之前尝试过使用"Volumes"属性,但实例无法挂载,系统告诉我/ dev/sda已经映射并回滚了实例创建)

这是我的模板的相关部分:

  "Resources" :
  {
    "Ec2Instance" :
    {
      "Type" : "AWS::EC2::Instance",
      "Properties" :
      {
        "BlockDeviceMappings" :
        [{
          "DeviceName" : "/dev/sda",
          "Ebs" :
          {
            "VolumeSize" : { "Ref" : "RootVolumeSize" },
            "SnapshotId" :
            { "Fn::FindInMap" : [ "RegionMap",
              { "Ref" : "AWS::Region" }, "RootVolumeSnapshotId" ]
            }
          }
        }],
        ...
       }
     }
Run Code Online (Sandbox Code Playgroud)

我的问题是,如何标记Ebs卷,我在这里用"BlockDeviceMappings"属性创建?我没有找到明显的解决方案.

谢谢.

amazon-ec2 amazon-web-services aws-cloudformation

14
推荐指数
1
解决办法
5420
查看次数

在用bounds扩展的泛型内部类的继承上编译错误

编译具有内部类的泛型类时遇到问题.该类扩展了一个泛型类,也就是内部类.

这里实现的接口:

public interface IndexIterator<Element>
    extends Iterator<Element>
{
  ...
}
Run Code Online (Sandbox Code Playgroud)

通用超类:

public abstract class CompoundCollection<Element, Part extends Collection<Element>>
    implements Collection<Element>
{
  ...

  protected class CompoundIterator<Iter extends Iterator<Element>>
      implements Iterator<Element>
  {
    ...
  }
}
Run Code Online (Sandbox Code Playgroud)

具有编译器错误的通用子类:

public class CompoundList<Element>
    extends CompoundCollection<Element, List<Element>>
    implements List<Element>
{
  ...

  private class CompoundIndexIterator
      extends CompoundIterator<IndexIterator<Element>>
      implements IndexIterator<Element>
  {
    ...
  }
}
Run Code Online (Sandbox Code Playgroud)

错误是:

type parameter diergo.collect.IndexIterator<Element> is not within its bound
       extends CompoundIterator<IndexIterator<Element>>
                                             ^
Run Code Online (Sandbox Code Playgroud)

怎么了?代码用eclipse编译,但不用java 5编译器编译(我在mac和eclipse 3.5上使用ant和java 5).不,我无法将其转换为静态内部类.

java generics inheritance inner-classes

9
推荐指数
1
解决办法
2123
查看次数

如何在JSP页面中导入常量

有没有更好的方法在JSP中使用常量:

<%@ page import="static package.Interface.NAME"%>
Run Code Online (Sandbox Code Playgroud)

使用这些是否有任何缺点(混合代码/内容之外)?

谢谢!

java jsp jspinclude

8
推荐指数
1
解决办法
6248
查看次数

是否可以在<pre>标签内使用CDATA

我想在HTML页面中显示异常跟踪.

一种方法是在异常跟踪中转义HTML特殊字符并将其转储到<pre>标记内.

虽然它有效,但效率非常低.我认为一种方法是用CDATA包裹跟踪.我试过了,但没有显示出来.

我的问题,这可以吗?

这是我的微弱尝试.

  <pre><![CDATA[blah, blah, blah with <>
  and blah blah blah with &
    and more blah, blah]]></pre>
Run Code Online (Sandbox Code Playgroud)

html xhtml cdata

8
推荐指数
1
解决办法
3396
查看次数

Maven 3.0.5 vs 3.1.1 vs 3.2.1

今天我访问了官方Maven网站,并惊讶地发现其中列出了3个版本:3.0.5,3.1.1和3.2.1

我目前正在使用3.0.5,并想知道我是否应该升级到更新版本.

不幸的是,网站上没有一个单词关于版本之间有什么不同,以及是否建议升级,以及升级到什么版本.

任何人都可以指向相关资源吗?

java maven

8
推荐指数
2
解决办法
8973
查看次数