草庐IT

length-constant

全部标签

java - 为什么 Java String.length 跨平台与 unicode 字符不一致?

根据JavadocumentationforString.length:publicintlength()Returnsthelengthofthisstring.ThelengthisequaltothenumberofUnicodecodeunitsinthestring.Specifiedby:lengthininterfaceCharSequenceReturns:thelengthofthesequenceofcharactersrepresentedbythisobject.但是后来我不明白为什么下面的程序HelloUnicode.java在不同的平台上会产生不同的结果。按

java - 警告 : unknown enum constant Status. 稳定

寻求解决this不知何故that,我试图创建包来分割main和test类,然后使用带有添加模块的编译器来执行单元测试。不是一个很好的方式同意,但现在只是一个假设的结构。随着我的深入,很少有Unresolved问题是:-将基于JDK9的模块添加到项目中。使用IntelliJ的快捷方式将JUnit5添加到类路径中。(库文件夹)[junit-jupiter-api-5.0.0.jar]问。请注意,它会将opentest4j-1.0.0.jar带到lib/文件夹中。为什么会这样,另一个jar是做什么用的?添加类并相应地生成一些测试方法。编译sampleproject(分享只是为了画一下使用中的

java - String.length() 与 Array.length

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:WhyisString.length()amethod?Java-Array'slengthproperty是否有特定的设计/性能原因来说明为什么String具有长度方法而Array具有可变长度?

javax.validation : Constraint to validate a string length in bytes

我正在使用javax.validation来验证一些bean字段的值。这是我通常使用的:publicclassMarket{@NotNull@Size(max=4)privateStringmarketCode;@Digits(integer=4,fraction=0)privateIntegerstalls;//getters/setters}这将确保每个Market实例都有一个最大长度为4个字符的市场代码和一个最大为4位整数和0的摊位数量十进制数字。现在,我使用这个bean从DB加载/存储数据。在数据库中,我有如下定义的表Markets:CREATETABLEMARKETS(MAR

java - Java 编译器会在 for 循环的条件下优化 String.length() 吗?

考虑以下Java代码片段:Stringbuffer="...";for(inti=0;i由于String是不可变的并且buffer不会在循环内重新分配,Java编译器是否足够聪明以优化掉buffer.length()调用for循环的条件?例如,它会发出等同于以下内容的字节代码吗?其中buffer.length()被分配给一个变量,并且该变量在循环条件中使用?我读到一些语言(如C#)会进行此类优化。Stringbuffer="...";intlength=buffer.length();for(inti=0;i 最佳答案 在Java(

java - Jersey 客户端请求中未设置 Content-Length-Header

我正在使用JerseyClient访问网络服务,如下所示:响应=r.accept(MediaType.TEXT_PLAIN_TYPE).header("content-length",0).post(String.class);其中r是WebResource但是,Web服务返回411-Content-Length丢失。使用tcpdump,我发现我能够指定自定义header,即.header("myheader",0)工作正常。看来jersey出于某些原因正在删除内容长度header。有人有什么想法吗? 最佳答案 我实际上需要对Res

java - "Unknow type constant pool at position X"在自 java 8 以来的 tomcat 日志中

我在Tomcat服务器上部署了一个基于JavaJSF2Web的应用程序,自从我们迁移到Java8/Tomcat8后,这个错误在tomcat输出中出现了很多:déc.05,201610:51:07AMcom.sun.faces.config.JavaClassScanningAnnotationScanner$ConstantPoolInfocontainsAnnotationGRAVE:Unknowtypeconstantpool0atposition178我尝试了不同的方法来解决这个警告,但它总是回来。此日志是否是任何问题的征兆?只是正常输出吗?有办法解决这个问题吗?

java - 在 JSF 中有一个 "constants"类

我正在使用JSF/Primefaces构建一个网络应用程序。我需要一个“常量”类,即一个由常量组成的类。这些常量主要是将在整个应用程序中使用的导航命令。我这样做的原因是为了避免临时实例化字符串。我如何实现这一点,使常量可从支持bean和XHTML文件访问?我已经尝试使用@ApplicationScoped并使用Singleton模式(Singleton类),但由于范围问题我无法让它工作。或者也许我只是使用了错误的方法。欢迎任何想法/建议。 最佳答案 HowdoIachievethis,makingtheconstantsaccess

Java "too many constants"JVM 错误

我正在开发一个在运行时生成和编译类的应用程序。这有时会产生大量的生成代码。在我们的一个测试用例中,我从JVM收到一个错误:TestClass.java:83865:toomanyconstants就是这个。我看过其他关于类似错误的报告,但在那些情况下,错误消息提示常量池。但在这种情况下它不会。如果这意味着达到了JVM常量池的限制,这意味着什么?我的意思是,就Java代码而言,这些常量是什么样的?类方法?字段?文字?我没有静态或final方法,也没有字段。你能给我一些线索吗?编辑:将代码拆分为多个类已经在计划中。虽然不是因为这个确切的原因。我知道常量池的局限性,但我的疑问正是要进入的内容

java - 检查 string.length == 0 是否仍然比检查 string == ""更快?

大约7-8年前,我从一本编程书籍中读到,检查string.length==0是一种检查空字符串的更快方法。我想知道这句话在今天是否仍然适用(或者它是否曾经是真的),因为我个人认为string==""更直接、更易读。我主要处理.NET和java等高级语言。 最佳答案 在Java中进行该测试的最佳方法是"".equals(string)因为它处理字符串为空的情况。至于哪个更快,我想答案是无所谓。两者都非常快,实际上哪一个最快取决于内部编译器的实现。 关于java-检查string.lengt