草庐IT

collection_time

全部标签

java - Hibernate 多对多关联 : left hand side collection contains elements, 但右侧集合为空

我在持久层中遇到了多对多关联的问题。我的场景如下:一个用户可以有多个角色,一个角色可以有多个用户。在测试期间,我遇到了一个奇怪的行为。我创建了角色对象和几个用户对象。角色被设置给每个用户。在此之后,使用DAO保存用户。然后加载其中一个用户以检查他是否获得了在保存用户对象之前传递给他的角色。对用户调用getRoles()表明角色设置正确。为了检查反向是否也有效,使用角色DAO从数据库加载角色对象。但是在角色对象上调用getUsers()只会返回一个空集,尽管它应该包含具有该角色的所有用户。我仔细检查了数据库表,但似乎一切正常。用户、角色和user_role表都已正确填写。那么为什么角色对

Java 泛型 : creating collections of class objects extending Throwable

为什么第一行可以,第二行不行?Collection>exs=newArrayList>(){{add(MyOwnException.class);}};Collection>exs=Arrays.asList(MyOwnException.class); 最佳答案 错误的原因是java推断出错误的类型,但您可以通过在调用类型化方法时指定类型来使其编译,无需强制转换Arrays.asList():Collection>exs=Arrays.>asList(Exception.class);//compiles在不指定类型的情况下,ja

java - EasyMock.expect(...).times(...) 与多次使用 EasyMock.expect(...) 之间的区别?

这有什么区别:ResultSetset=EasyMock.createNiceMock(ResultSet.class);EasyMock.expect(set.getInt("col1")).andReturn(1);EasyMock.expect(set.wasNull()).andReturn(false);EasyMock.expect(set.getInt("col2")).andReturn(2);EasyMock.expect(set.wasNull()).andReturn(false);EasyMock.replay(set);assertEquals(1,set.g

java - 如何对在执行程序服务中运行的代码片段进行单元测试,而不是等待 Thread.sleep(time)

如何对在执行程序服务中运行的代码进行单元测试?在我的情况下,publicvoidtest(){RunnableR=newRunnable(){@Overridepublicvoidrun(){executeTask1();executeTask2();}};ExecutorServiceexecutorService=Executors.newSingleThreadExecutor();executorService.submit(R);}当我进行单元测试时,我想对方法执行进行一些验证。我在执行程序服务中执行它,因为它进行一些网络操作。在我的单元测试中,我必须等到此方法执行完毕。有没

Java:如何为 `toArray`实现 `Collection`

现在,我有:publicT[]toArray(T[]old){T[]arr=Arrays.copyOf(old,old.length+size());inti=old.length;for(Eobj:this){arr[i]=old.getClass().getComponentType().cast(obj);++i;}returnarr;}(请注意,这不符合axtavt指出的契约(Contract)。)我在哪里收到这个警告:Typesafety:Uncheckedcastfromcapture#2-of?toT这仍然是最好/最直接的实现方式吗?我可以在没有警告的情况下以某种方式对其

java - DateTimeFormatter 接受多个日期并转换为一个(java.time 库)

我正在尝试编写一个DateTimeFormatter,它允许我接受多种不同的String格式,然后将String格式转换为特定类型。由于项目的范围和已经存在的代码,我不能使用不同类型的格式化程序。例如,我想接受MM/dd/yyyy以及yyyy-MM-dd'T'HH:mm:ss但是当我打印时我只想打印成MM/dd/yyyy格式,并在我调用LocalDate.format(formatter);时使用该格式有人可以建议有关如何使用java.time.format.*;执行此操作的想法这是我在org.joda中的实现方式://MM/dd/yyyyformatDateTimeFormatter

java - Eclipse 中的 Tomcat : It runs but time out during startup anyway

我正在使用Tomcat7在Eclipse(Helios)中运行一个JavaWeb应用程序。服务器成功启动(指示持续时间)但是Eclipse的进度条仍然旋转,表明Tomcat正在启动。最终达到超时并抛出错误。我相信Tomcat很好,因为我已经获取了它使用的命令并在shell中手动运行了它。Tomcat运行良好,我能够在预期的URL上访问网络应用程序。我也可以在它启动之后和超时发生之前点击它。我重新安装了Eclipse,干净地运行了它,删除/重新创建了服务器。没有任何效果。有人有任何线索吗? 最佳答案 我有这个问题,Eclipse似乎在

java - Joda Time : new DateTime(String) vs DateTime. 解析(字符串)

使用joda-time-2.0版本库,我想知道,从ISO日期(假设XMLxs:dateTime格式)构造哪个函数更好:newDateTime(String)与DateTime.parse(String).因为两者都从相同的值返回不同的结果。示例:newDateTime("2012-08-16T07:22:05Z")DateTime.parse("2012-08-16T07:22:05Z")由于ISOChronology而导致不同。第一个是ISOChronology[Europe/Paris],第二个是ISOChronology[UTC],虽然毫秒是一样的。此外,here建议使用ISOD

java - 如何在 Java 中将 java.util.Map 转换为 scala.collection.immutable.Map?

我发现很多人都在尝试这样做,并询问这个问题,但问题总是根据scala代码来回答。我需要调用一个需要scala.collection.immutable.Map的API,但我有一个java.util.Map,如何在我的java代码中将后者干净地转换为前者?编译器不同意它是隐式转换的观点,因为当我尝试它时它拒绝了!谢谢! 最佳答案 获得一个不可变的Scala映射有点棘手,因为集合库提供的转换返回所有返回可变的,你不能只使用toMap因为它需要一个隐式参数,Java编译器当然不会提供。使用该隐式参数的完整解决方案如下所示:importsc

Java 8 stream.collect( ... groupingBy ( ... mapping( ... reducing ))) 减少 BinaryOperator 的使用

我尝试了一个使用groupingBy、mapping和reducing的解决方案以下问题:Elegantlycreatemapwithobjectfieldsaskey/valuefromobjectstreaminJava8.总结一下目标是得到一个以年龄为key,以一个人的爱好为Set的map。我想出的解决方案之一(不是很好,但这不是重点)有一个奇怪的行为。使用以下列表作为输入:ListpersonList=Arrays.asList(newPerson(/*name*/"A",/*age*/23,/*hobbies*/asList("a")),newPerson("BC",24,a