集合的问题

问题描述

package cn.com.liheng.Test;import java.util.ArrayList;import java.util.List;import cn.com.liheng.entity.User;public class Test {public static void main(String[] args) {User a=new User("1","黑狗","白狗");User b=new User("2","野狗","白狗");List c=new ArrayList();c.add(a);c.add(b);System.out.println("新闻标题数量"+c.size()+"条");for (int i = 0; i < c.size(); i++) {User n=(User) c.get(i);System.out.println((i+1)+":"+n.getName());}}} 为什么get()方法要进行强转了?

解决方案

确实,是由于楼主你没有指定List内元素的类型,所以在get的时候默认是按Object来看的。如果在声明List时指定了泛型,之后就可以使用for-each的方式遍历,比如引用for (int i = 0; i < c.size(); i++) { User n=(User) c.get(i); System.out.println((i+1)+":"+n.getName()); } 可以改成List<User> users = new ArrayList<User>();for (User u : users) { System.out.println(u.getName()); }
解决方案二:
1:因为你的c是这样定义的List c=new ArrayList();这里你并没有指定集合里装的是什么类型,所以当把对象放进去后,都会被转成默认的Object类型:2:所以你get获得的类型是Object,那么要想获得一个User类型就需要强制转换3:如果这个list里面装的都是User的话你可以这样解决 List<User> c=new ArrayList<User>();
解决方案三:
List<User> c=new ArrayList<User>(); 改成这样就不需要强制转换了,使用java泛型

时间: 2024-10-27 20:02:48

集合的问题的相关文章

Python检测字符串中是否包含某字符集合中的字符

  这篇文章主要介绍了Python检测字符串中是否包含某字符集合中的字符,需要的朋友可以参考下 目的 检测字符串中是否包含某字符集合中的字符 方法 最简洁的方法如下,清晰,通用,快速,适用于任何序列和容器 代码如下: def containAny(seq,aset): for c in seq: if c in aset: return True return False 第二种适用itertools模块来可以提高一点性能,本质上与前者是同种方法(不过此方法违背了Python的核心观点:简洁,清

java-怎么把遍历list集合输出的元素对其

问题描述 怎么把遍历list集合输出的元素对其 图一怎么把list集合遍历输出的元素对其,.图二怎么把字符串转为int类型,,..图二的做法报异常,该怎么做 解决方案 Java中List集合的遍历Java中List集合的遍历Java中List集合的遍历 解决方案二: 这是用的idea啊,,,用的舒服吗?? 解决方案三: 图一:由于你的序号到了10以上,多了一个字符,所以才会乱的,解决方案呢,就是在序号为个位数的,多加一个空格就可以对齐了: 图二:int code=Integer.parseInt

并发集合(三)使用阻塞线程安全的列表

使用阻塞线程安全的列表 列表(list)是最基本的集合.一个列表中的元素数量是不确定的,并且你可以添加.读取和删除任意位置上的元素.并发列表允许不同的线程在同一时刻对列表里的元素进行添加或删除,而不会产生任何数据不一致的问题. 在这个指南中,你将学习如何在你的并发应用程序中使用阻塞的列表.阻塞列表与非阻塞列表的主要区别是,阻塞列表有添加和删除元素的方法,如果由于列表已满或为空而导致这些操作不能立即进行,它们将阻塞调用的线程,直到这些操作可以进行.Java包含实现阻塞列表的LinkedBlocki

Java集合源码剖析:Java集合框架

Java集合工具包位于Java.util包下,包含了很多常用的数据结构,如数组.链表.栈.队列.集合.哈希表等.学习Java集合框架下大致可以分为如下五个部分:List列表.Set集合.Map映射.迭代器(Iterator.Enumeration).工具类(Arrays.Collections). Java集合类的整体框架如下: 从上图中可以看出,集合类主要分为两大类:Collection和Map. Collection是List.Set等集合高度抽象出来的接口,它包含了这些集合的基本操作,它主

hdu4751Divide Groups(dfs枚举完全图集合或者bfs染色)

/************************************************************************* > File Name: j.cpp > Author: HJZ > Mail: 2570230521@qq.com > Created Time: 2014年08月28日 星期四 12时26分13秒 *******************************************************************

ASP编程技术学习:Cookie集合

     Cookie是一种发送到客户浏览器的文本串句柄,并保存在客户机硬盘上,可以用来在某个Web站点会话之间持久地保持数据.Request和Response对象都有一组Cookie. Request.cookie集合是一系列Cookie,从客户端与HTTP Request一起发送到Web服务器.反过来,如果你希望把Cookie发送到客户机,就可以使用Response.cookie 1.ExpiresAbsolute属性 该属性可以赋一个日期,过了这个日期Cookie就不能再被使用了.通过给E

scala中集合的交集、并集、差集

scala中有一些api设计的很人性化,集合的这几个操作是个代表: 交集: scala> Set(1,2,3) & Set(2,4) // &方法等同于interset方法 scala> Set(1,2,3) intersect Set(2,4) 并集: scala> Set(1,2,3) ++ Set(2,4) scala> Set(1,2,3) | Set(2,4) // |方法等同于union方法 scala> Set(1,2,3) union Set(

Python_集合set和frozenset的内建方法详解

前言 集合是一种组合型的数据类型,分为可变的set和不可变的frozenset. 软件环境 系统  UbuntuKylin 14.04 软件  Python 2.7.3 IPython 4.0.0 可变集合Set 集合set是一种无序的.唯一的的元素集,与数学中集合的概念类似,可对其进行交.并.差.补等逻辑运算.不支持索引.切片等序列操作,但仍支持成员关系运算符in-not in.推导式等操作.在特定的场合中可以体现出非常优秀的执行效率. set()函数创建集合 set(iterable) ->

Python的set集合详解

Python 还包含了一个数据类型 -- set (集合).集合是一个无序不重复元素的集.基本功能包括关系测试和消除重复元素.集合对象还支持 union(联合),intersection(交),difference(差)和 sysmmetric difference(对称差集)等数学运算. 创建集合set 大括号或 set() 函数可以用来创建集合. set集合类需要的参数必须是迭代器类型的,如:序列.字典等,然后转换成无序不重复的元素集.由于集合是不重复的,所以可以对字符串.列表.元组进行去重

集算器协助java处理结构化文本的集合运算

JAVA不直接支持集合运算,因此要用嵌套循环才能实现文本文件之间的交集.并集.差集 等集合运算,如果文件数量较多,或者文件较大而无法放入内存直接计算,再或者要按照多个字段进行集合运算,则相应的代码会更加复杂.集算器直接支持集合运 算,可以协助JAVA轻松实现此类算法,下面我们通过例子来看一下具体作法. 有两个小文件:f1.txt和f2.txt,第一行是列名,现在需要对文件中的Name字段进行交集运算.部分数据如下: 文件f1.txt: 文件f2.txt: 集算器代码: A1.B1:用import