最近我读了一段对我来说很奇怪的代码.我们知道,当需要使用它们时,我们需要在集合中初始化泛型类型.此外,我们知道集合可以包含集合作为其元素.
代码:
public class Solution {
public static void main(String args[]) {
ArrayList res = returnlist();
System.out.print(res.get(0));
}
public static ArrayList<ArrayList<Integer>> returnlist() {
ArrayList result = new ArrayList();
ArrayList<Integer> content = new ArrayList<Integer>();
content.add(1);
result.add(content);
return result;
}}
Run Code Online (Sandbox Code Playgroud)
我的问题是
ArrayList result = new ArrayList();用来创建一个对象,因为我们没有给集合提供实际的元素类型.result.add(content);集合来添加集合"结果"只是一个简单的集合.我们没有把它定义为一个ArrayList的ArrayList在 RDFS 中,所有事物都是rdfs:Resource. 所有其他类都是 的子类rdfs:Resource。并且rdfs:Resource是 的一个实例rdfs:Class。
我的问题是:有人可以帮助解释上面的这一段吗?我对这个子类和实例以及它们为什么有这种关系感到困惑。
编写Java代码时,我发现一个非常奇怪的情况:
Integer x = myit.next();
if ((int)x % 2 == 0) {
Run Code Online (Sandbox Code Playgroud)
其中myit是迭代器,x是整数.我只是想测试x是否是偶数.但是x%2 == 0不起作用,因为eclipse说%没有在Integer上定义.然后我尝试通过显式转换将x转换为int.再一次,它警告我不能以这种方式转换.
它出现的原因是什么,以及测试x是否均匀的正确方法是什么?
更新:无论如何,我测试以下代码是否有效,这意味着你们所有人都是对的.
Integer x = 12;
boolean y = ( (x % 2) == 0 );
boolean z = ( (x.intValue() % 2) == 0 );
Run Code Online (Sandbox Code Playgroud)
我认为我之前遇到的问题可能是代码的上下文.这是深夜,如果我发现为什么会发生这种情况,我会稍后更新.