草庐IT

new_list

全部标签

java - 为什么有些类在创建实例时不需要单词 "New"?

我是Java新手。让我感到困惑的一件事是为什么有些类需要new来实例化,而其他一些类不需要new来实例化。比如我在看log4j,它不需要new。//getaloggerinstancenamed"com.foo"Loggerlogger=Logger.getLogger("com.foo");logger.setLevel(Level.INFO);为什么其他一些类需要new?例如,一个Employee类:EmployeeX=newEmployee(John);X.getwork();等等等等为什么我们没有说Loggerlogger=newLogger(...);?以及为什么即使没有ne

java - Collections.synchronizedMap(new LinkedHashMap());没有使 Map 线程安全

我正在使用以下构造来创建线程安全的Map。Collections.synchronizedMap(newLinkedHashMap());尽管我遇到了ConcurrentModificationException错误。 最佳答案 如果没有代码,很难猜测真正的问题是什么,但我的猜测是,您没有使用返回的集合来执行操作。根据javadocInordertoguaranteeserialaccess,itiscriticalthatallaccesstothebackingcollectionisaccomplishedthroughthe

java - 使用 Java 8 Stream API 将 List<X> 聚合到 List<X>

我有以下类(class):classMoney{CurrencyUnitcurrencyUnit;BigDecimalamount;}在我的应用程序中,我得到了一些随机列表Money对象:currencyUnit|amount---------------------EUR|5.1EUR|0USD|1.09EUR|42USD|3现在我想使用Java8StreamAPI来创建以下结果(只需为每个currencyUnit的数量调用BigDecimal::add):currencyUnit|amount---------------------EUR|47.1USD|4.09我已经知道/做过

java - 为了提高我的编程技能,我想关注 "learn a new language a year"。 2011 年我们可以学到什么

我想在2011年学习一门新的编程语言。我是一名java程序员,有不到一年的经验。我想学习一些真正新鲜和令人兴奋的东西,但与移动设备(iPhone、Android、iPad、Symbian)无关。 最佳答案 我建议你给Scala试试吧。它是一种运行在JVM上的语言,它在语法上非常像Java,因此您可以轻松上手。Python是另一个不错的选择。 关于java-为了提高我的编程技能,我想关注"learnanewlanguageayear"。2011年我们可以学到什么,我们在StackOverf

java - indexOf() 具有重复字符串的奇怪 Java.util.List 行为

我刚刚遇到了一些奇怪的行为,这在ArrayList中是意想不到的。在java。当然,这是因为我对Java中的引用理解不足。让我向您展示这段代码:ListmyList=newArrayList();myList.add("One");myList.add("Two");myList.add("Two");myList.add("Three");for(Strings:myList){System.out.println(myList.indexOf(s));}这段代码提供了以下输出:0113怎么会?我故意添加了两个包含相同字符(“两个”)的字符串,但对象本身不应该相同。我在这里误解了什么

java.lang.OutOfMemoryError : unable to create new native thread 错误

我看到了这样的评论oneplaceihaveseenthisproblemisifyoukeepcreatingthreads,andinsteadofcallingstart(),callrun()directlyonthethreadobject.Thiswillresultinthethreadobjectnotgettingdereferenced...Soaftersometimethemessageunabletocreatenewnativethreadcomesup关于SunJavaForums在我的应用程序中,最初我们计划使用线程,但后来我们决定不再需要,所以我们只调

java - 谷歌 Collection ( Guava 图书馆): ImmutableSet/List/Map and Filtering

假设您要构建一个ImmutableSet/List/Map对象的副本,但要过滤掉一些原始条目。一种实现方法如下:ImmutableList.copyOf(Iterables.filter(myObject,myObject.EQUALS));其中myObject.EQUALS是Iterables.filter()操作的谓词。我认为这是一个非常优雅且易于阅读的实现。然而,构建两个列表对象(第一个通过Iterables.filter(...)调用,第二个通过ImmutableList.copyOf(...))是非常低效的.有人知道更有效的方法吗?我想最好的办法是向ImmutableSet/

java - 为什么要将新的 ArrayList 分配给 List 变量?

我是java的新手,当我浏览网上许多示例的代码时,我看到人们将ArrayList的变量声明为简单的List例。ListmyList=newArrayList();我不明白这样做是否有一些特定的优势。为什么它不能是ArrayList本身,像这样:ArrayListmyList=newArrayList(); 最佳答案 它叫做programmingtoaninterface.它允许您用ArrayList替换LinkedList,如果您在某处决定LinkedList更合适。 关于java-为什

java - 如何将 List 包装为 Jackson 生成的 JSON 中的顶级元素

我遇到了一个问题,我试图将一个列表作为根节点包含在内,但我似乎无法获得它。让我解释。假设我们有一个类“TestClass”classTestClass{StringpropertyA;}现在,在一些实用方法中,这就是我所做的StringutilityMethod(){Listlist=someService.getList();newObjectMapper().writeValueAsString(list);}我试图在JSON中获得的输出是{"ListOfTestClasses":[{"propertyA":"propertyAValue"},{"propertyA":"someO

java - String str = new String ("my string") 真的效率低吗?

我经常看到有人说Stringstr=newString("mystring")比写Stringstr="mystring",效率低,因为前者创建一个静态“我的字符串”对象,然后是一个从静态对象复制的String对象。但是,考虑到这里的语言是如此简单和明确,我很难想象Java优化器不会花任何力气将前者简单地转换为后者。为什么它真的会选择更费力的方式呢?如果Java对其进行了优化,会有什么负面影响? 最佳答案 However,giventhatthelanguagehereissosimpleandunambiguous,Icanhar