草庐IT

collection_time

全部标签

java - 来自 joda-time DateTimeFormatter 的模式字符串?

是否可以从joda-timeDateTimeFormatter获取模式字符串?DateTimeFormatterformatter=DateTimeFormat.forPattern("yyyyMMdd");StringoriginalPattern=formatter.??? 最佳答案 JodaTime不提供从DateTimeFormatter获取原始模式的方法。一个原因可能是DateTimeFormatter不一定是根据模式创建的;例如DateTimeFormat.forStyle()根本不使用模式。但是,如果您总是使用模式,则

java - Joda-Time,没有日期的时间

我想要一个只存储时间而不存储日期或日期的类。Joda-Time中有这方面的类(class)吗?还是我必须使用日期时间并仅将时间部分转换为字符串然后使用该部分? 最佳答案 有LocalTime为此目的上课。阅读更多关于partialshere的信息.例如:LocalTimetime=newLocalTime(12,20);Stringformatted=time.toString("HH:mm"); 关于java-Joda-Time,没有日期的时间,我们在StackOverflow上找到一

java - 为什么 Collections.shuffle() 算法比我的实现效果更好

这个问题在这里已经有了答案:Whyisthisshufflingalgorithmwrong?(1个回答)关闭7年前。Collections.shuffle()向后遍历Collection的每个索引,然后将其与包含或之前的随机索引交换。我想知道为什么,所以我尝试做同样的事情,但交换Collection中的any随机索引。这是Collections.shuffle()代码的洗牌部分:for(inti=size;i>1;i--)swap(arr,i-1,rnd.nextInt(i));这是我的算法:Randomr=newRandom();for(inti=0;i当我在同一个ArrayLis

java - 注释 ConcurrentHashMap 时处于 hibernate 状态的 "Illegal attempt to map a non collection as a @OneToMany, @ManyToMany or @CollectionOfElements"

我试过注释一个属性访问器,其返回值是一个映射,如下所示:@MapKeyColumn(name="parameter_name")@ElementCollectionpublicConcurrentHashMapgetParameterValues()这符合hibernate用户指南(第2.2.5.3.4节)。但是,我得到:org.hibernate.AnnotationException:Illegalattempttomapanoncollectionasa@OneToMany,@ManyToManyor@CollectionOfElements:ConfigurationParam

java - 为什么我们需要有界通配符 <?在 Collections.max() 方法中扩展 T>

我读过JoshuaBloch写的很棒的“EffectiveJava”。但是我不清楚书中的一个例子。它摘自关于泛型的章节,确切的条目是“第28条:使用有界通配符来增加API灵active”。在本项目中,它展示了如何使用有界类型参数和有界通配符类型编写最通用和防弹(从类型系统的角度来看)版本的从集合中选择最大元素的算法。写的静态方法的最终签名是这样的:publicstatic>Tmax(Listlist)它与Collections#max中的一个基本相同来自标准库的函数。publicstatic>Tmax(Collectioncoll)我理解为什么我们需要在TextendsComparab

Duplicate class kotlin.collections.jdk8.CollectionsJDK8Kt found in modules。Android studio纯java代码报错

我使用java代码构建项目,初始代码运行就会报错。我使用的是AndroidStudioGiraffe(Adroid-studio-2022.3.1.18-windows)。我在网上找的解决办法是删除重复的类,但这操作起来真的太麻烦了。 这是全部报错代码:Duplicateclasskotlin.collections.jdk8.CollectionsJDK8Ktfoundinmoduleskotlin-stdlib-1.8.10(org.jetbrains.kotlin:kotlin-stdlib:1.8.10)andkotlin-stdlib-jdk8-1.6.21(org.jetbrain

java - 为什么 `Stream.collect` 是类型安全的而 `Stream.toArray(IntFunction<A[]>)` 不是?

考虑以下代码片段Stringstrings[]={"test"};finalListcollect=java.util.Arrays.stream(strings).collect(java.util.stream.Collectors.toList());finalDouble[]array=java.util.Arrays.stream(strings).toArray(Double[]::new);为什么Java可以在收集情况下保证正确的类型(将收集的泛型类型更改为例如Double会导致编译时错误),但在数组情况下却不能(编译良好,尽管apply(intDouble[]::new

java - 是否有 Hamcrest 匹配器来检查 Collection 既不为空也不为空?

是否有Hamcrest匹配器检查参数既不是空集合也不是null?我想我可以一直使用both(notNullValue()).and(not(hasSize(0))但我想知道是否有更简单的方法,但我错过了。 最佳答案 您可以结合IsCollectionWithSize和OrderingComparison匹配器:@Testpublicvoidtest()throwsException{Collectioncollection=...;assertThat(collection,hasSize(greaterThan(0)));}对于c

java - 为什么我需要同步 Collections.synchronizedList 返回的列表

我在dos.oracle.com上找到了这个publicstaticListsynchronizedList(Listlist)Returnsasynchronized(thread-safe)listbackedbythespecifiedlist.Inordertoguaranteeserialaccess,itiscriticalthatallaccesstothebackinglistisaccomplishedthroughthereturnedlist.Itisimperativethattheusermanuallysynchronizeonthereturnedlist

java - Guava:Iterables.filter VS Collections2.filter,有什么大的区别吗?

我想知道在Guava中Iterables.filter(Iterable,Predicate)之间是否有任何差异和Collections2.filter(Collection,Predicate)方法?它们似乎既维护迭代顺序,又提供实时View。Javadoc说调用Collections2.filter().size()将遍历所有元素。假设我有一个谓词来过滤项目列表,因此我想要View(或列表,无关紧要)中剩余的项目数。我应该用什么?使用Collections2.filter似乎更简单,因为Collection提供了size()方法。但是在后台,有没有区别:ImmutableList.