我习惯于在C : void main() { String zText = ""; fillString(zText); printf(zText); } void fillString(String zText) { zText += "foo"; } 输出是: foo 但是,在Java中,这似乎不起作用。 我假设,因为String对象被复制,而不是通过引用传递 。 我认为string是对象,它总是通过引用传递。 这里发生了什么?
嗨,我想从网页下载图像。 我正试图从“http://www.yahoo.com”主页下载图像。 请告诉我如何通过'http://www.yahoo.com'作为input。 并打开此网页如何从此页面获取图像。 请给我java代码从网页上获取图像。
我最近不得不把我正在从ISO-xx工作的webapp编码切换到utf8 。 一切顺利,除了属性文件。 我在eclipse.ini添加了-Dfile.encoding=UTF-8 ,正常的文件工作正常。 属性然而显示一些奇怪的行为。 如果我从Notepad ++复制utf8编码属性并将它们粘贴到Eclipse中,它们将显示并正常工作。 当我重新打开属性文件时,我看到一些Unicode字符,而不是正确的字符,如: Zur\u00EF\u00BF\u00BDck instead of Zurück 但应用程序仍然正常工作。 如果我开始编辑属性,添加一些特殊字符并保存,它们显示正确,但是它们不起作用,所有以前工作的特殊字符不再工作。 当我比较本地版本与CVS时,我可以在远程文件上正确地看到特殊字符,更新后,我再次启动:应用程序工作,但Eclipse显示Unicode字符。 我尝试通过右键单击并select“其他:UTF8”更改文件编码,但它没有帮助。 它还表示:“从内容上确定:ISO-8859-1” 我使用基于Eclipse 3.3的Java 6和Jboss Developer 我可以通过在Notepad ++中编辑属性并将它们粘贴到Eclipse中来支持它,但是如果有人能帮助我在Eclipse中解决这个问题,我将不胜感激。
我使用Ant来构build一些Java项目。 在一些,我有一个lib/目录,其中包含外部依赖,在JAR文件的forms。 在构build过程中,通过在bundle jar文件中为lib/目录中的每个jar添加一个zipfileset ,创build一个捆绑的jar,其中包含项目的代码以及依赖关系。 问题是,每次我添加一个jar或更改名称时,我都需要记住更新build.xml文件,因为我找不到以自动方式添加这些zipfilesets的方法,一定的模式(如lib/*.jar )。 有没有更好的方法来做到这一点? 我已经考虑编写我自己的Ant任务了,或者使用Groovy的ant API以编程的方式来完成这个工作,但是想知道是否有一种方法可以使用“vanilla”ant。
我想检查List是否包含具有特定值的字段的对象。 现在,我可以使用一个循环来检查,但我很好奇,如果有更多的代码效率。 就像是; if(list.contains(new Object().setName("John"))){ //Do some stuff } 我知道上面的代码没有做任何事情,只是为了大致展示我想实现的目标。 此外,只是为了澄清,我不想使用一个简单的循环的原因是因为这段代码目前进入一个内循环内的循环内循环。 为了可读性,我不想在这些循环中添加循环。 所以我想知道是否有任何简单的(ish)select。
我无法理解Scala中的Option[T]类。 我的意思是,我无法看到任何超过null 。 例如,考虑下面的代码: object Main{ class Person(name: String, var age: int){ def display = println(name+" "+age) } def getPerson1: Person = { // returns a Person instance or null } def getPerson2: Option[Person] = { // returns either Some[Person] or None } def main(argv: Array[String]): Unit = { val p = getPerson1 if (p!=null) […]
我怎样才能将一个活动的背景色设置为白色?
我正在尝试创build一个非常简单的REST服务器。 我只是有一个testing方法,将返回一个string列表。 代码如下: @GET @Path("/test2") public List test2(){ List list=new Vector(); list.add("a"); list.add("b"); return list; } 它给出了以下错误: SEVERE:Javatypes的消息主体编写器, 类java.util.Vector和MIME媒体types, 应用程序/八位字节stream,没有被发现 我希望JAXB有一个像String,Integer等简单types的默认设置,我猜不是。 这是我所想象的: <Strings> <String>a</String> <String>b</String> </Strings> 什么是最简单的方法来使这种方法的工作?
我需要检查在java服务器的CPU和内存使用情况,任何人都知道如何做到这一点?
如何将行号打印到日志中。 说输出一些信息到日志时,我也想打印输出在源代码中的行号。 正如我们在堆栈跟踪中看到的那样,它显示发生exception的行号。 堆栈跟踪在exception对象上可用。 其他的select可以像打印到日志时手动包含行号一样。 有没有其他的方法?