我正在准备面试,当我经历空指针异常时,我突然意识到每个对象都能以某种方式抛出空指针异常,但我似乎无法想象某些对象如System,Out等抛出NullPointerException.谁能提到这样的场景?谢谢!
例如: System.out.println(s.get(name));
我想将map {key:column,key1:column1}转换为csv字符串"key = column,key1 = column".
我正在获取入口映射并从键和值构造字符串.这就是我所拥有的:
entry.forEach(entryVal ->{
result.append(entryVal.getKey() + "=" + entryVal.getValue());
result.append(',');
});
int index = result.lastIndexOf(",");
if(index == result.length()-1){
result.deleteCharAt(index);
return result.toString();
}
Run Code Online (Sandbox Code Playgroud)
当然,看起来很难看,特别是我必须对逗号进行后处理.想知道是否有更清洁的方法吗?
注意:我不需要代码审查,只需要知道一种不同但更清晰的方式来编写同样的东西,如果可能的话
我正在尝试测试这种方法。
@Override
public JSON connectResource() throws IOException {
//get the location and credentials for the certificates
System.setProperty("javax.net.ssl.trustStore", "C:/Program Files/Java/jdk1.7.0_40/jre/lib/security/cacerts");
System.setProperty("javax.net.ssl.trustStorePassword", "changeit");
HttpRequest httpRequest = new HttpGet(url);
System.out.println("hello");
httpRequest.addHeader("Accept", "application/json");
HttpResponse response = httpClient.execute((HttpUriRequest) httpRequest);
System.out.println("hello1");
HttpEntity httpEntity = response.getEntity();
String data = this.getData(httpEntity);
return JSONSerializer.toJSON(data.toString());
}
Run Code Online (Sandbox Code Playgroud)
我的设置方法是:
@Before
public void setUp() throws Exception{
mockHttpClient = mock(DefaultHttpClient.class);
mockHttpRequest = mock(HttpUriRequest.class);
mockHttpResponse = mock(BasicHttpResponse.class);
mockHttpEntity = mock(HttpEntity.class);
mockInputStream = mock(InputStream.class);
mockInputStreamReader = mock(InputStreamReader.class);
mockBufferedReader = mock(BufferedReader.class);
mockHttpGet = mock(HttpGet.class);
mockHttpRequestBase = mock(HttpRequestBase.class); …Run Code Online (Sandbox Code Playgroud)