草庐IT

java - 隐式转换为字符串 - toString 和 int + ""

为什么我用这个:inta=1;methodWithParamString(a+"");a被强制转换为字符串,但我不能对整数使用toString()吗?inta=1;methodWithParamString(a.toString());这不是:a+""的工作原理是:a.toString()+""吗? 最佳答案 不,它的工作方式类似于String.valueOf(a)+"",后者的行为又类似于newStringBuilder(String.valueOf(a)).append("")。toString().重要的是要知道这一切都是由编

java - "Error: Could not find or load main class My.class"

我在Windows7上通过cmd.exe使用JavaSDK1.7。直到几个小时前一切都正常工作,突然我无法运行我编译的类文件,标题中始终显示错误。我似乎能够编译我的My.java文件,但是我无法运行生成的类文件(My.class)。我经常收到错误“错误:无法找到或加载主类My.class”。我已经用多个其他类文件尝试过这个,所有这些都导致了同样的问题。如果您想知道的话,我的“路径”环境变量设置为“C:\ProgramFiles(x86)\Java\jdk1.7.0_05\bin”我试过重新安装、创建和设置类路径变量(运气不好),甚至直接使用java-cp。我的.class命令。我试过这

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

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

java - 将 Object[] 数组转换为 java 中的 int [] 数组?

似乎没有简单的方法可以做到这一点,但这是我到目前为止所做的,如果有人可以更正它以使其正常工作,那就太好了。在“newarray[e]=array[i].intValue();”我收到错误消息“在类型“java.lang.Object”中找不到名为“intValue”的方法。”帮助!/*Description:Agamethatdisplaysdigits0-9andaskstheuserforanumberN.ItthenreversesthefirstNnumbersofthesequence.Itcontinuesthisuntilallofthenumbersareinorder

Java-使用 BufferedReader 时将 String 转换为 int

在使用BufferedReader时如何将String转换为int?据我所知,它类似于以下内容:System.out.println("inputanumber");intn=Integer.parseInt(br.readLine(System.in));但由于某种原因,它不起作用。错误信息说:没有找到适合readLine(java.io.InputStream)的方法它还说br.readLine不适用 最佳答案 需要在BufferedReader的构造函数中指定一个InputStreamReader。InputStreamRea

java - 如何在int中添加空格?

假设我要打印数字100000000。乍一看很难说出这个数字代表多少百万。是1000万还是1亿?如何使Java中的大数字看起来更具可读性?例如这样的东西会很棒:100000000。你一眼就能看出这个数字是1亿。 最佳答案 你也可以试试DecimalFormat;DecimalFormatformatter=newDecimalFormat("#,###");System.out.println(formatter.format(100000));结果:1000>>1,00010000>>10,000100000>>100,000100

Java:charAt 转换为 int?

我想输入我的nirc号码,例如S1234567I然后将1234567单独作为一个整数作为indiv1作为charAt(1),indiv2为charAt(2),indiv为charAt(3)等。但是,当我使用下面的代码时,我可以似乎连第一个数字都没有?有什么想法吗?Scannerconsole=newScanner(System.in);System.out.println("EnteryourNRICnumber:");Stringnric=console.nextLine();intindiv1=nric.charAt(1);System.out.println(indiv1);

java - 为什么 (int)(14/13 - 0.001) 产生 0 而不是 1?

如果将像1.0012这样的float转换为整数,它不是会变成1吗?那为什么我写的时候是:(int)(14/13-0.001)不是1.07592~变成1它变成了0?(用Eclipse编译的Java)。 最佳答案 它会截断。对于1.0012,它只是删除了小数点右边的部分。例子(int)(14/13-0.001)14/13会变成1然后转成double,1.0-0.001=0.999,截断后变成0。 关于java-为什么(int)(14/13-0.001)产生0而不是1?,我们在StackOve

Java Apache FTPClient : How to know my current directory

我的问题很简单:我在连接到FTP的简单应用程序中使用Apachecommons.netAPI,我可以使用changeWorkingDirectory方法更改工作目录。但是...我怎么知道我的当前目录而不更改它? 最佳答案 printWorkingDirectory()返回当前工作目录的路径名。Here'sthereference. 关于JavaApacheFTPClient:Howtoknowmycurrentdirectory,我们在StackOverflow上找到一个类似的问题:

java - 在 int 属性上按降序对自定义对象数组进行排序

我想按出生年份降序排列我的数组。我的数组还有两个其他类型的String元素。因此,例如,出生在最早年份(例如1939年)的人将排在首位,然后依此类推。这是我的代码:importjava.util.*;publicclassStudentInformationTest{publicstaticvoidmain(String[]args){StudentInformation[]studentInfo=newStudentInformation[10];studentInfo[0]=newStudentInformation("StudentA",1971,"BScFDIT");stude