标签: generic-list

带有通配符的列表会导致Generic voodoo错误

有谁知道为什么下面的代码不能编译?add()和addAll()都不能按预期工作.删除"?extends"部分会使一切正常,但之后我将无法添加Foo的子类.

 List<? extends Foo> list1 = new ArrayList<Foo>();
 List<? extends Foo> list2 = new ArrayList<Foo>();

 /* Won't compile */
 list2.add( new Foo() ); //error 1
 list1.addAll(list2);    //error 2 
Run Code Online (Sandbox Code Playgroud)

错误1:

IntelliJ说:

add(capture<? extends Foo>) in List cannot be applied to add(Foo)
Run Code Online (Sandbox Code Playgroud)

编译器说:

cannot find symbol
symbol  : method addAll(java.util.List<capture#692 of ? extends Foo>)
location: interface java.util.List<capture#128 of ? extends Foo>
Run Code Online (Sandbox Code Playgroud)

错误2:

IntelliJ给了我

addAll(java.util.Collection<? extends capture<? extends Foo>>) in List cannot be applied to addAll(java.util.List<capture<? extends Foo>>)
Run Code Online (Sandbox Code Playgroud)

而编译器只是说

cannot find symbol
symbol …
Run Code Online (Sandbox Code Playgroud)

java generics generic-list generic-collections

37
推荐指数
3
解决办法
2万
查看次数

将.NET泛型列表转换为F#列表

是否有内置方法将.NET List <>转换为F#列表?

.net c# f# generic-list

36
推荐指数
2
解决办法
9866
查看次数

c#array vs generic list

我基本上想知道在下面提到的场景中使用通用列表而不是数组的差异或优点

class Employee
{
    private string _empName;

    public string EmpName
    {
       get{ return _empName; }
       set{ _empName = value; }
    }
}
Run Code Online (Sandbox Code Playgroud)
1. Employee[] emp 
2. List<Employee> emp
Run Code Online (Sandbox Code Playgroud)

任何人都可以告诉我优点或缺点,以及哪一个更喜欢?

c# arrays generic-list

32
推荐指数
3
解决办法
3万
查看次数

通用列表属性上的必需属性

是否可以将[Required]属性放入List <>属性?

我绑定到POST上的通用列表,并想知道如果属性中有0项,我是否可以使ModelState.IsValid()失败?

validation asp.net-mvc model generic-list

31
推荐指数
3
解决办法
1万
查看次数

如何将对象列表转换/转换为对象队列

如何将对象列表转换为保持相同顺序的队列?

c# queue object generic-list

28
推荐指数
2
解决办法
2万
查看次数

从List <T>保存到txt

我希望我的程序从两个文本文件中读取一个List<T>.的List<T>被分类和清洗重复.

我希望List<T>将(在排序和清理之后)保存到txt文件.

但当我查看结果txt文件时,我发现此消息:

System.Collections.Generic.List`1 [System.String]

有谁知道如何解决这个错误?

这是我的代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;

namespace Uniqpass
{
    class Program
    {
        static void Main(string[] args)
        {

            String pfad = "C:\\Dokumente und Einstellungen\\Bektas\\Desktop\\test\\";
            String pfad2 = "C:\\Dokumente und Einstellungen\\Bektas\\Desktop\\test\\";
            String speichern = "C:\\Dokumente und Einstellungen\\Bektas\\Desktop\\test\\ausgabe.txt";
            String datei = "text1.txt";
            String datei2 = "text2.txt";

            try
            {

                //Einlesen TxT 1
                List<String> pass1 = new List<String>();
                StreamReader sr1 = new StreamReader(pfad + datei);
                while (sr1.Peek() > …
Run Code Online (Sandbox Code Playgroud)

c# save generic-list

27
推荐指数
2
解决办法
9万
查看次数

如何释放通用TList <T>?

是否释放泛型列表一样TList<string>,TList<Double>,TList<Integer>或者TList<TMyRecord>,其中,TMyRecord声明如下:

type
  TMyRecord = record
    MyString: string;
    MyDouble: Double;
    MyInteger: Integer;
  end;
Run Code Online (Sandbox Code Playgroud)

需要任何额外的工作还是MyList.Free足够的?

delphi generics generic-list

27
推荐指数
1
解决办法
4237
查看次数

替换对象列表中的对象

在C#中,如果我有List<T>,我有类型的对象T,我怎么能在替换特定项目List<T>类型的对象T

这是我尝试过的:

List<CustomListItem> customListItems = new List<CustomListItem>();
CustomListItem customListItem1 = new CustomListItem() { name = "Item 1", date = DateTime.MinValue};
CustomListItem customListItem2 = new CustomListItem() { name = "Item 2", date = DateTime.MinValue };
CustomListItem customListItem3 = new CustomListItem() { name = "Item 3", date = DateTime.MinValue };

customListItems.Add(customListItem1);
customListItems.Add(customListItem2);
customListItems.Add(customListItem3);

CustomListItem newCustomListItem = new CustomListItem() { name = "Item 4", date = DateTime.Now };

customListItem2 = customListItems.Where(i=> i.name == "Item 2").First(); …
Run Code Online (Sandbox Code Playgroud)

.net c# list generic-list variable-assignment

27
推荐指数
2
解决办法
5万
查看次数

如何从非常大的列表中按索引有效地删除元素?

我有一个非常大的整数列表(大约 20 亿个元素)和一个带有索引(几千个元素)的列表,我需要从第一个列表中删除元素。我目前的方法是遍历第二个列表中的所有索引,将每个索引传递给RemoveAt()第一个列表的方法:

indices.Sort();
indices.Reverse();
for (i = 0; i < indices.Count; i++)
{
    largeList.RemoveAt(indices[i]);
}
Run Code Online (Sandbox Code Playgroud)

但是,大约需要 2 分钟才能完成。我真的需要更快地执行此操作。有没有办法优化这个?

我有一个带有 10 个内核的 Intel i9X CPU,所以也许是某种并行处理方式?

.net c# performance list generic-list

26
推荐指数
4
解决办法
1482
查看次数

Jackson JSON + Java Generics获得LinkedHashMap

我有一个问题类似于stackoverflow上的一些问题,但没有一个真正回答我的问题.我使用ObjectMapperJackson并希望将此JSON字符串解析为User对象列表:

[{ "user" : "Tom", "role" : "READER" }, 
 { "user" : "Agnes", "role" : "MEMBER" }]
Run Code Online (Sandbox Code Playgroud)

我定义了一个这样的内部类:

public class UserRole {

    private String user
    private String role;

    public void setUser(String user) {
        this.user = user;
    }

    public void setRole(String role) {
        this.role = role;
    }

    public String getUser() {
        return user;
    }

    public String getRole() {
        return role;
    }
}
Run Code Online (Sandbox Code Playgroud)

要将JSON字符串解析为UserRoles我使用泛型的List :

protected <T> List<T> mapJsonToObjectList(String json) throws Exception {
    List<T> list;
    try {
        list …
Run Code Online (Sandbox Code Playgroud)

java generics generic-list linkedhashmap jackson

25
推荐指数
1
解决办法
2万
查看次数