草庐IT

char_line

全部标签

java - 将 char 传递给具有 int 参数的方法

以下代码的输出是123,因为substring从beginIndex到EndIndex-1。但是,令我惊讶的是char在这里被理解为3(int)因为substring有两个整数。这是什么概念?Stringx="12345";chara=3;x=x.substring(0,a);System.out.println(x); 最佳答案 这一直追溯到C,其中char本质上是一个窄整数类型,并在必要时隐式转换为int。在Java中,这在技术上被称为“扩大原始转换”,并在section5.1.2oftheJLS中介绍。.

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

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

java - 文件.write() : appending new lines in a text file

我正在使用下面的代码写入一个文本文件Stringcontent="ILoveJava";Files.write(Paths.get(gg),(content+"\n").getBytes(UTF_8),StandardOpenOption.CREATE,StandardOpenOption.APPEND);运行3次后,文本保存到文本中为:ILoveJavaILoveJavaILoveJava但是,我希望文本文件中的文本看起来像:ILoveJavaILoveJavaILoveJava有什么帮助吗? 最佳答案 您应该避免特定的新行分隔符

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

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

Java:为什么检查 "\n"与使用 System.getProperty ("line.separator"添加的新行不匹配)

(更新问题)首先,我认为"\n"等同于System.getProperty("line.separator")我写了一些方法来处理字符串,其中一些检查新行的存在if(string.charAt(i)=='\n'){//做某事;}但我注意到检查"\n"与System.getProperty("line.separator")添加的新行不匹配这是一个SSCCE来证明我的主张!:描述:两个相同文本的字符串;一个alpha_String使用"\n"添加了新行,另一个beta_String使用System.getProperty("line.separator")有一个名为Stringremov

java - Spring 批 : Writing column names as first line in flat file

我想创建一个具有以下格式的平面文件:Col1Name;Col2Name;Col3Nameone;23;20120912two;28;20120712如上所示,平面文件中的第一行是列名。如何通过header回调来实现?我看到如果输入文件是上述格式,则有一个选项可以忽略第一行:此外,这JiraIssue表示我想要的已实现并关闭。但是,我找不到任何将第一行写为列名的示例。我的ItemWriter如下所示:publicclassMyFileItemWriterimplementsItemWriter,FlatFileHeaderCallback,ItemStream{privateFlatFi

Java 8 BufferedReader lines() 方法打印不同的计数

我在使用BufferedReader的lines()方法计算行号时遇到了问题。以下是test.txt文件的内容。1Career2Filmography3Awards4References5External这里是计算行号两次的源代码。BufferedReaderbr=newBufferedReader(newFileReader(newFile("test.txt")));longlineNo=br.lines().count();longlineNo2=br.lines().count();System.out.println(lineNo);//5System.out.println

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 泛型错误 : inconvertible types from command line compiler

我有一些使用泛型的Guice绑定(bind)代码,这些代码可以在Eclipse的编译器中正常编译和运行,但不能在Java(命令行)编译器中正常运行。我升级到最新的(1.7.0_01)JavaSDK,但仍然出现以下错误。[error]...\BindCategorySelectorActivity.java:42:error:inconvertibletypes[error](Class>>)CategoryDataProvider.class);[error]^[error]required:Class>>[error]found:Class[error]1error[error]{f