我有一个Strings 列表,我想用它们之间的空格连接起来.所以我正在使用StringBuilder.现在,如果有任何Strings null,它们将被StringBuilder字面上存储为"null".这是一个小程序来说明问题:
public static void main(String ss[]) {
StringBuilder sb = new StringBuilder();
String s;
s = null;
System.out.println(sb.append("Value: ").append(s));
}
Run Code Online (Sandbox Code Playgroud)
我希望输出为"Value:",但它出现为"Value:null"
有没有解决这个问题的方法?
我正在接管另一个团队的项目,并且遇到了一些奇怪的Eclipse问题.
我正在使用Subversive作为我的插件,当我去检查后备箱时,它将我带到一个标准的"Check Out As"对话框,它允许我选择结账方法,并且是唯一适合我的方法(或是适用的)是最后一个选项(Check out as a project with the name specified).
所以我指定了名称,然后项目检查正常,一切都很好,除了...
虽然这应该是一个Java项目(升级到Java Web应用程序),但是制作该项目的团队似乎将其创建为一般项目(通过转到Project > Properties > Resource > Type = 'Project').
因此,Java项目中没有启用任何典型功能,包括(但不限于):
所以我的问题是:
Check out as a project configured using the New Project Wizard(为什么检查为新项目?!?),(2)Find projects in the children of the selected resource(no),( 3)Check out as a folder into an existing project(不).我有一个很长的文本字符串(包括\n换行符),我将其输入到UILabel显示中.该UILabel动态设置,以提供文本足够的空间.
我的代码看起来像这样:
myText = [NSString stringWithFormat:@"%@some text: %@ \n \n %@", myText, moreText1, moreText2];
NSLog(@"%@", myText);
myLabelSize = [vLabelText sizeWithFont:[UIFont fontWithName:@"Helvetica" size:(15.0)] constrainedToSize:cMaxLabelSize lineBreakMode:UILineBreakModeWordWrap];
UILabel *lBody = [[UILabel alloc] initWithFrame:CGRectMake(cFromLeft, vFromTop, vLabelSize.width, vLabelSize.height)];
lBody.font = [UIFont fontWithName:@"Helvetica" size:(15.0)];
lBody.lineBreakMode = UILineBreakModeWordWrap;
lBody.textAlignment = UITextAlignmentLeft;
lBody.backgroundColor = [UIColor cyanColor];
[myScrollView addSubview:lBody];
lBody.text = vLabelText;
Run Code Online (Sandbox Code Playgroud)
我的问题是文本没有换行,但在第一行后截断.该\n换行被忽略.
是否/* (non-javadoc)有一个含义,超越指出,以源代码的读者,一个注释块是不是故意Javadoc注释?最近我看到很多代码看起来像这样:
/*
* (non-javadoc)
*
* This method converts widgets to gizmos
*/
public Foo bar() {
...
Run Code Online (Sandbox Code Playgroud)
这是某种既定的惯例吗?如果是这样,它是什么意思(超出明显的字面含义)以及何时使用?
我只是使用MyEclipse自动生成一些JUnit测试用例.其中一个生成的方法如下所示:
@Ignore("Ignored") @Test
public void testCreateRevision()
{
fail("Not yet implemented"); // TODO
}
Run Code Online (Sandbox Code Playgroud)
我@Ignore手动添加了注释.但是,当我运行测试时,JUnit会在"失败"下列出该方法和其他类似方法,而不是忽略它们(相关:JUnit中的失败和错误有什么区别?).它显示"尚未实现"消息而不是"忽略"消息.显然,fail()必须被调用,因此,@Ignore断言不起作用.
这里发生了什么?我需要启用这个设置吗?
编辑:
到目前为止我考虑/尝试过的事情:
org.junit.Ignore,因此不是Ignore使用错误的情况.@Ignore单独使用,@Ignore @Test并且@Ignore("message") @Test; 都失败了.编辑2:
我使用MyEclipse,via创建了测试,New > Other; Java > JUnit > JUnit Test Case; New JUnit 4 test我的构建路径中的库是JUnit 4.我正在使用ant构建并实际运行MyEclipse的案例.
什么XPath查询将<media:thumbnail />在以下XML中选择节点?
<item>
<title>Sublime Federer crushes Wawrinka</title>
<description>Defending champion Roger Federer cruises past Stanislas Wawrinka 6-1 6-3 6-3 to take his place in the Australian Open semi-finals.</description>
<link>http://news.bbc.co.uk/go/rss/-/sport2/hi/tennis/9372592.stm</link>
<guid isPermaLink="false">http://news.bbc.co.uk/sport1/hi/tennis/9372592.stm</guid>
<pubDate>Tue, 25 Jan 2011 04:21:23 GMT</pubDate>
<category>Tennis</category>
<media:thumbnail width="66" height="49" url="http://news.bbcimg.co.uk/media/images/50933000/jpg/_50933894_011104979-1.jpg"/>
</item>
Run Code Online (Sandbox Code Playgroud)
XML来自此RSS源.
运行JUnit测试时,我似乎总是遇到这个错误:
eclipse outOfMemoryError:堆空间
我用JConsole监视Eclipse,堆内存峰值大约为150MB.我已将堆内存设置为1GB.
我在启动Eclipse时使用以下参数:
-vm "C:\Program Files\Java\jre1.5.0_08\bin\javaw.exe" -vmargs -Xmx1024M -XX:MaxPermSize=128M -Dcom.sun.management.jmxremote.port=8999 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false
有谁知道可能导致这个问题的原因?它只在运行JUnit测试时发生.
我E第一次得到了SVN的状态代码.这是什么意思?该update文件说,它的全称是"存在的",但没有给出较详细.
或者,什么是"阻碍路径"?长帮助文件指出"阻塞路径在第一列中报告,代码为'E'."
一些背景:我从工作副本中删除了一个我不应该删除的文件.从SVN更新没有恢复它,所以我创建了一个具有相同文件名的新文件,并将文件的repo副本复制粘贴到其中.
然后我将其添加到版本控制,但是它给它"需要添加到远程存储库的版本化文件"状态,而不是"无本地更改"状态.
使用Subclipse,我在父文件夹中选择了Replace With > Latest from Repository,这发生了:
revert -N C:/foo/Bar.java
Reverted C:/foo/Bar.java
update C:/foo/Bar.java -r HEAD --force
E C:/foo/Bar.java
Updated to revision 396.
===== File Statistics: =====
Existing: 1
Run Code Online (Sandbox Code Playgroud) 我有一个XML文档,以及该文档的XPath表达式.我必须在运行时使用XPath来更新doc.
我怎么能用Java做到这一点?
以下是我的xml:
<?xml version="1.0" encoding="ISO-8859-1"?>
<PersonList>
<Person>
<Name>Sonu Kapoor</Name>
<Age>24</Age>
<Gender>M</Gender>
<PostalCode>54879</PostalCode>
</Person>
<Person>
<Name>Jasmin</Name>
<Age>28</Age>
<Gender>F</Gender>
<PostalCode>78745</PostalCode>
</Person>
<Person>
<Name>Josef</Name>
<Age>232</Age>
<Gender>F</Gender>
<PostalCode>53454</PostalCode>
</Person>
</PersonList>
Run Code Online (Sandbox Code Playgroud)
我必须更改名称和年龄的值//PersonList/Person[2]/Name.
Android invalidate()和postInvalidate()方法有什么区别?每个人何时被召唤?必须只在扩展的类中调用方法View吗?