草庐IT

char_length

全部标签

java - 为什么在 Java 中允许将 double 转换为 char?

为什么charc=(char)65.8;允许在Java中使用?因为65.8不是一个确切的Unicode值,它不应该抛出错误吗?我知道double被截断为整数,在本例中为65,但在我看来允许程序员进行这样的转换似乎是糟糕的设计。 最佳答案 这就是所谓的缩小类型转换。来自oracledocs:22specificconversionsonprimitivetypesarecalledthenarrowingprimitiveconversions:shorttobyteorcharchartobyteorshortinttobyte,s

java - 为什么探查器在我没有创建任何 char[] 实例时显示大量实例?

我正在运行递归操作的NetBeans配置文件,其中包括创建一个带有java.lang.String字段的类。在类列表中,在配置文件堆转储中,字符串字段的数量对应于按预期创建的类的数量,但是也有类似数量的char[]实例。char数组占内存使用量的近70%(!),而String字段占大约7%。这是怎么回事?我怎样才能减少char[]实例的数量?谢谢 最佳答案 看看Stringsourcecode.String对象本身包含缓存的哈希码、字符数(同样,出于优化目的)、偏移量(因为String.substr()指向原始字符串数据)和字符数组

java - 将 char[] 数组转换为 String

假设我有一个数组:char[]chars={'X','X','m','a','t','t','X','X'};我想创建值为“matt”的字符串,因此从字符的索引2到5开始。是否有内置方法可以实现此目的,或者我必须进行循环? 最佳答案 使用this字符串构造函数,所以newString(chars,2,4); 关于java-将char[]数组转换为String,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.c

java - 为什么 "int i = (byte) + (char) - (int) + (long) - 1"是 1?

这个问题在这里已经有了答案:Weirdjavabehaviorwithcaststoprimitivetypes(3个答案)关闭8年前。我在网上偶然发现了这段代码publicclassTest{/***@paramargs*/publicstaticvoidmain(String[]args){inti=(byte)+(char)-(int)+(long)-1;System.out.println(i);}}它打印1。我能知道为什么吗?这是来源-->http://www.javacodegeeks.com/2011/10/weird-funny-java.html

java - 为什么使用 char[] 而不是 String?

在Thread.java,第146行,我注意到作者在名称字段中使用了char[]而不是String。是否有任何我不知道的性能原因?getName()还在返回名称之前将字符包装在一个字符串中。只使用String不是更好吗? 最佳答案 一般来说,是的。我怀疑char[]是出于性能原因在Thread中使用的,那时候Java中的这些东西需要尽一切努力才能获得不错的性能。随着现代JVM的出现,这种微优化早已变得不重要,但它只是被遗弃了。旧的Java1.0时代的源代码中有很多奇怪的代码,我不会太在意它。

Java 将敏感的 'key' 存储为 String 或 char[]?

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:Whyischar[]preferredoverstringforpasswords?我在某处读到,将敏感key存储为char[]而不是String更好,因为后者可以在内存中找到。由于JPasswordField的getText()方法已弃用,这也有点意义。这是真的吗?

java - Jersey /JAX-RS : Return Content-Length in response header instead of chunked transfer encoding

我正在使用Jersey创建RESTfulAPI资源,并使用ResponseBuilder生成响应。RESTful资源的示例代码:publicclassinfoResource{@GET@Path("service/{id}")@Produces({MediaType.APPLICATION_JSON,MediaType.APPLICATION_XML})publicResponsegetCompany(@PathParam("id")Stringid){//companyisjustaPOJO.Companycompany=getCompany(id);returnResponse.s

java - this.getClass().getFields().length;总是返回 0

这个问题在这里已经有了答案:javareflectiongetFieldsforprivatemember|accessingobjectnamevaluedynamically(2个答案)关闭9年前。我正在尝试获取特定类中的字段数。然而,我使用的技术不起作用,总是返回0:this.getClass().getFields().length;如何获取特定类的字段数?

java - Java中的char零(0)是什么意思?

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:JavastringreplaceandtheNUL(NULL,ASCII0)character?我正在用Java做一些字符串算法,我注意到无论我在哪里包含一个值为0(零)的char,它都标志着字符串的结尾。像这样:StringaString="I'maString";char[]aStringArray=aString.toCharArray();aStringArray[1]=0;System.out.println(newString(aStringArray));//Itoutputs"I"这种行为的

java - JPA/Hibernate DDL 生成; CHAR 与 VARCHAR

我有一个JPA/Hibernate数据模型,我正在使用Hibernatehbm2ddl工具生成数据库DDL。我有一些字符串应该是CHAR和一些可能是数据库中的VARCHAR。我想尽量减少对DDL的手动编辑(我意识到有些事情将不得不发生)。有人知道我应该怎么做吗?我意识到我可以通过黑客方言制作所有字符串VARCHARS或CHARS,但这并不总是适合数据库。我希望能够使用注释或aop来做到这一点,避免在我的类中使用自定义列定义文本。谢谢。 最佳答案 注释要映射到数据库中的CHAR的字符串@Column(columnDefinition=