小编Nat*_*ams的帖子

构造器类型参数放在类型“之前”是什么意思?

最近,我遇到了这种不寻常的(对我来说)Java语法...下面是一个示例:

List list = new <String, Long>ArrayList();
Run Code Online (Sandbox Code Playgroud)

请注意<String, Long>类型参数的位置...它不是在普通类型之后,而是之前。我不介意承认我以前从未见过这种语法。另请注意,ArrayList只有1个时有2个类型参数。

类型参数的位置是否与将其放在类型后面的含义相同?如果不是,不同的定位是什么意思?

为什么ArrayList只有1 个类型有2个类型参数是合法的?

我搜寻了平常的地方,例如。Angelika Langer等人在这里,但是除了ANTLR项目的Java语法文件中的语法规则之外,找不到任何关于此语法的提及。

java generics syntax constructor generic-type-argument

126
推荐指数
1
解决办法
5798
查看次数

Java:使用plus +运算符连接String和表达式的意外行为

考虑以下代码

public class Test {
   public static void main(String... strings) {
      System.out.println("String, " + false);
      System.out.println("String, " + getFalse());
      System.out.println("String, " + new TestClass());
      System.out.println("String, " + (new TestClass() == null));
      System.out.println("String, " + new TestClass() == null);
   }

   private static class TestClass {
      public String toString() {
         return "false";
      }
   }

   private static boolean getFalse() {
      return false;
   }
}
Run Code Online (Sandbox Code Playgroud)

为什么最后一次System.out.println打印的输出与其他输出不同?我不知道,这是一个错误吗?是否与plus运算符有关?StringBuilder?

java string behavior operator-keyword

-1
推荐指数
1
解决办法
71
查看次数