草庐IT

string-utils

全部标签

java - 为什么会延迟生成 Java String 哈希码?

在java.lang.String.java中出现,Java只会生成hashcode,然后在调用hashcode()之后存储它,但为什么不直接在构造函数中生成hashcode?相关代码:if(h==0&&count>0){intoff=offset;charval[]=value;intlen=count;for(inti=0;i大部分都可以放在构造函数中。 最佳答案 为什么要花时间生成一个很可能不会被使用的哈希码?大多数字符串都是在没有调用hashcode()的情况下构造、使用然后进行垃圾回收的。

java - 如何填充<表单 :select> with List<String>?

我有一个List在我传递给View的Controller中。我需要填充有了那个数据。我尝试设置itemValue属性为"name"但这没有用。 最佳答案 您可以执行以下操作:通过仅向form:options标签提供items属性,它应该使值和标签成为列表中每个字符串的值。 关于java-如何填充withList?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/9809263/

java - 同步死锁(String intern())

我使用sunjdk1.5ThreadPoolExecutor(24,24,60,TimeUnit.SECONDS,newLinkedBlockingQueue())。soemtime我用jdb工具发现线程池中所有线程的状态都是“waitinginamonitor”,代码是:Stringkey=getKey(dt.getPrefix(),id);synchronized(key.intern()){----->“synchronized(key.intern())”有问题吗?我使用jdb工具得到以下信息,24个线程的状态是“waitinginamonitor”,这意味着24个线程在“ke

java - "power of 2"在 java.util.HashMap 实现中的意义

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:JavaHashMapDefaultInitialCapacity我正在阅读java.util.HashMap中HashMap的实现。初始容量、最大容量等都是2的幂。从java.util.HashMap复制的部分声明/***Thedefaultinitialcapacity-MUSTbeapoweroftwo.*/staticfinalintDEFAULT_INITIAL_CAPACITY=16;/***Themaximumcapacity,usedifahighervalueisimplicitlyspec

java.lang.Object VS java.util.Objects,有什么区别?

众所周知,Object是Java中的根类。我找到了一个名为Objects的类,它看起来与Object非常相似。TheisObjects类让我困惑了一段时间。谁能告诉我应该在何时何地使用Objects类? 最佳答案 Objects只包含一组与Object实例结合使用的实用方法。请注意,它不能被实例化(它是final并且没有public构造函数)并且只包含static方法。将实用程序方法放在复数名称类中的命名模式在JDK中很常见:CollectionsArrays(虽然严格来说没有对应的Array类)...其他图书馆也使用这种方案,例如

java - 正则表达式疯狂 : java. util.regex.Pattern 匹配器进入高 CPU 循环

注意:我看过这个question,但还没有人回答,所以帮助不大。奇怪的是,被标记为“可能重复”的问题已被删除(我第一次看到。)我们在使用Pattern进行正则表达式验证时遇到问题。这些都没有发生在我们的代码中,整个事情都发生在SpringFramework和Hibernate的验证中。(Spring3.2.1,Spring3.1.1,Hibernate验证4.2.0)此调用尝试使用@Valid注释验证SpringFramework@ModelAttribute注释:@RequestMapping("/foo/bar")publicStringdoFooBar(@Valid@ModelA

java.lang.ClassNotFoundException : org. aspectj.util.PartialOrder$PartialComparable 问题

我在我的Web应用程序中使用Spring4.2.4.RELEASE,我想从中删除对aspectjweaver.jar的依赖。我不直接使用AOP,当然也不使用AspectJ。但是我的申请失败,出现以下异常:java.lang.ClassNotFoundException:org.aspectj.util.PartialOrder$PartialComparableatjava.net.URLClassLoader.findClass(URLClassLoader.java:381)atjava.lang.ClassLoader.loadClass(ClassLoader.java:424

java - 文字字符串创建与 String 对象创建

创建了多少个String对象我正在为SCJP学习,我似乎无法解决这个字符串问题。根据我如何看待问题,我似乎看到了几个可能的答案。在下面的初始化中,创建了多少个字符串对象?Strings1="A"+"B"+"C"+"D";System.out.println(s1)最初我认为有5个对象,即"A""B""C""D""ABCD"但后来想想我不太确定,因为例如编译器会将"A"+"B"连接为一个对象吗?即创建7个对象?"A""B""C""D""AB""ABC""ABCD"另外,如果将代码更改为,将创建多少个对象Strings1=newString("A"+"B"+"C"+"D");System.

java - 确保 String 可以在 java 中存储为 int 的最佳方法是什么

我正在制作一个基于网络的应用程序,我有文本字段,其中的值存储为字符串。问题是某些文本字段将被解析为整数,并且您可以在字符串中存储比在整数中存储的数字大得多的数字。我的问题是,确保可以将字符串数字解析为int而不会出错的最佳方法是什么。 最佳答案 您可以为此使用try/catch结构。try{Integer.parseInt(yourString);//newBigInteger(yourString);//UsetheaboveifparsingamountsbeyondtherangeofanInteger.}catch(Numb

java - 线程 "main"java.util.NoSuchElementException 中的异常

每当我运行它时,chooseCave()函数与in.nextInt()一起正常工作。当我选择洞穴时,消息以2秒的间隔弹出,然后一旦它通过该部分,它就会给我错误:Exceptioninthread"main"java.util.NoSuchElementException:Nolinefoundatjava.util.Scanner.nextLine(UnknownSource)atDragon.main(Dragon.java:81)我已经尝试过hasNextLine()和hasNextInt(),当我在mainwhilehasNextLine()时方法,我得到了更多的错误。当我在ch