java - C++中的模板,Java中的泛型和>>位移运算符

原文 标签 java c++ templates generics bit-shift

我的实际问题如下:

在C++中,要求嵌套参数之间有一个空格,例如List< List<String> >。这样做是为了使编译器可以区分上述>>和位移List<List<String>>。但是,对于Java来说,这是不正确的。>>是完全有效的。 JVM如何区分上述和ojit_code位移?

最佳答案

区别在于围绕>>运算符的上下文。当它是一个运算符时,两个操作数都需要一个表达式:

EXPR >> EXPR

表达式可以是变量,文字,函数调用或所有这些元素的复杂组合。但是,在使用列表声明的情况下,不涉及任何表达式,仅涉及类型和ID。例如:
List<List<string >> id;

实际上,在新标准中,C++编译器也可以有所作为。

相关文章:

java - 使缓存无效并重新启动不能解决BR导入错误…数据绑定(bind)问题

java - 如何为一个类的所有字段编写通用的自定义GSON解串器?

java - 将 hibernate session 设置为只读以整个应用程序

c++ - 使用ARM跨工具链进入同一文件中定义的功能时出现段错误

c++ - 在窗口混合现实门户网站上运行我的解决方案时出现内核调试器错误

c++ - 指向 vector <float>的第一个字节的指针

c++ - 具有相同类型参数的类型安全可变参数函数

c++ - 模板功能查找

java - 如何在android espresso测试中向下滚动屏幕?我需要验证屏幕上显示的文本

c++ - 使用constexpr函数作为模板参数是否有效?