Object[0] 为什么无法获得Long值
时间: 2023-10-10 19:12:55 浏览: 48
在 Java 中,Object 是所有类的基类。当你将一个 Long 类型的值放入 Object 变量中时,这个 Long 值会被自动装箱为 Long 对象。如果你想从 Object 变量中获取 Long 值,需要使用类型转换将 Object 强制转换为 Long 类型。例如:
```java
Object obj = 12345L;
Long value = (Long) obj;
```
但是,如果 Object 变量实际上不是 Long 类型,那么在进行强制类型转换时会抛出 ClassCastException 异常。因此,在使用强制类型转换之前,最好先使用 instanceof 运算符检查 Object 变量是否为 Long 类型,例如:
```java
Object obj = "Hello";
if (obj instanceof Long) {
Long value = (Long) obj;
// do something with value
} else {
// obj is not a Long
}
```
相关问题
List<Object> 转 Map<Long,Object2>
好的,你要将一个List<Object>转换成一个Map<Long, Object2>,是吗?这里假设Object中有一个属性id,Object2中有一个属性id,且两个id的类型均为Long。那么你可以按照以下步骤进行转换:
1. 遍历List,取出每一个Object对象。
2. 将Object对象中的id属性值取出,并将该Object对象作为value,id属性值作为key,存入一个HashMap<Long, Object>对象中。
3. 遍历List,取出每一个Object2对象。
4. 将Object2对象中的id属性值取出,并在HashMap<Long, Object>对象中查找对应的value,将该Object2对象与对应的value合并。
5. 最终得到的HashMap<Long, Object>对象就是转换后的Map<Long, Object2>对象。
以下是示例代码:
```java
List<Object> list = new ArrayList<>();
Map<Long, Object2> map = new HashMap<>();
// 遍历List,将Object对象存入HashMap
for (Object obj : list) {
Long id = obj.getId();
map.put(id, obj);
}
// 遍历List,将Object2对象与HashMap中对应的Object对象合并
for (Object2 obj2 : list2) {
Long id = obj2.getId();
Object obj = map.get(id);
// 合并Object2对象和Object对象的属性
// ...
}
// 最终得到的map就是转换后的Map<Long, Object2>对象
```
Map<Object, Long>统计每个字段相同值的个数
要统计一个字段中相同值的个数,可以使用 Java 8 中的 Stream API 和 Collectors.groupingBy() 方法。以下是一个示例代码:
```java
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
public class Main {
public static void main(String[] args) {
List<Object> list = Arrays.asList("A", "B", "C", "A", "B", "A", "D");
Map<Object, Long> countMap = list.stream()
.collect(Collectors.groupingBy(o -> o, Collectors.counting()));
System.out.println(countMap);
}
}
```
运行以上代码,输出结果为 `{A=3, B=2, C=1, D=1}`。其中,key 表示字段中的元素值,value 表示该元素值在字段中出现的次数。
在代码中,我们使用 `Collectors.groupingBy()` 方法将字段中的元素按照其值进行分组,然后使用 `Collectors.counting()` 方法对每个分组中的元素进行计数。最后,我们得到一个 Map,其中包含了每个值及其对应的出现次数。
阅读全文