看完后隐藏功能和C++/STL的暗角上comp.lang.c++.moderated,我完全惊讶的是,下面的代码片断编译并在两个Visual Studio 2008和G ++ 4.4的工作.
这是代码:
#include <stdio.h>
int main()
{
int x = 10;
while (x --> 0) // x goes to 0
{
printf("%d ", x);
}
}
Run Code Online (Sandbox Code Playgroud)
我假设这是C,因为它也适用于GCC.标准中定义了哪里,它来自何处?
我"Hello World"保留了一个名为的String变量hi.
我需要打印它,但反过来.
我怎样才能做到这一点?我知道Java中已经内置了某种功能.
试图删除所有不是0-9的字母和字符以及句点.我正在使用,Character.isDigit()但它也删除小数,我怎么能保持小数?
有人可以给我一些在函数中使用输出参数的示例代码吗?我试过谷歌它,但只是在功能中找到它.我想在另一个函数中使用此输出值.
我正在开发的代码旨在在Android中运行.
我最近遇到了一个我以前没见过的成语:StringWriter和PrintWriter的字符串汇编.我的意思是,我知道如何使用它们,但我一直使用StringBuilder.是否有一个具体的理由选择一个而不是另一个?StringBuilder方法对我来说似乎更自然,但它只是风格吗?
我在这里看了几个问题(包括最近的一个问题:StringWriter或StringBuilder),但没有一个问题的答案实际上解决的问题是,是否有理由优先选择一个而不是简单的字符串汇编.
这是我见过并习惯了很多次的成语:StringBuilder的字符串汇编:
public static String newline = System.getProperty("line.separator");
public String viaStringBuilder () {
StringBuilder builder = new StringBuilder();
builder.append("first thing").append(newline); // NOTE: avoid doing builder.append("first thing" + newline);
builder.append("second thing").append(newline);
// ... several things
builder.append("last thing").append(newline);
return builder.toString();
}
Run Code Online (Sandbox Code Playgroud)
这是新的成语:StringWriter和PrintWriter的字符串汇编:
public String viaWriters() {
StringWriter stringWriter = new StringWriter();
PrintWriter printWriter = new PrintWriter(stringWriter);
printWriter.println("first thing");
printWriter.println("second thing");
// ... several things
printWriter.println("last thing");
printWriter.flush();
printWriter.close();
return stringWriter.toString();
}
Run Code Online (Sandbox Code Playgroud)
编辑似乎没有具体的理由偏爱其中一个,所以我接受了最符合我理解的答案,并且+ 1除了所有其他答案.另外,我发布了自己的答案,给出了我运行的基准测试结果,以回答其中一个答案.谢谢大家.
再次编辑事实证明,有是 …
我写了一个Java程序,其中,我需要追加一个字符串
" u13a2"到现有的"u1234 u12de u1386 ... u15a3".
因此,弦逐渐变得越来越长.我发现每次追加所花费的时间也变得越来越长.有什么方法可以在某种程度上改善这一点吗?
我想到的实现包括:
unicodeArray += " "+unicode;
Run Code Online (Sandbox Code Playgroud)
要么
unicodeArray = unicodeArray.concat(" "+unicode);
Run Code Online (Sandbox Code Playgroud)
他们给出了类似的表现 我认为造成这些不良表现的主要原因是特殊类型String.它为每个作业创建一个新对象.如果你也这么认为,这是否意味着我最好使用另一种类型,比如字节数组?
我是Java的新手,我读到Java中synchronized的"非常昂贵".我想知道的是什么是昂贵的,它是如何昂贵的?
谢谢.
我想优化这段代码:
InputStream is = rp.getEntity().getContent();
BufferedReader reader = new BufferedReader(new InputStreamReader(is));
String text = "";
String aux = "";
while ((aux = reader.readLine()) != null) {
text += aux;
}
Run Code Online (Sandbox Code Playgroud)
问题是我不知道如何读取bufferedreader的内容并以比我上面更快的方式将其复制到String中.我需要花费尽可能少的时间.谢谢
我理解它是如何工作的但如果我想将MD5打印成String我该怎么做?
public static void getMD5(String fileName) throws Exception{
InputStream input = new FileInputStream(fileName);
byte[] buffer = new byte[1024];
MessageDigest hash = MessageDigest.getInstance("MD5");
int read;
do {
read = input.read(buffer);
if (read > 0) {
hash.update(buffer, 0, read);
}
} while (read != -1);
input.close();
}
Run Code Online (Sandbox Code Playgroud) Groovy支持用于创建StringBuilder/StringBuffer的文字语法,而不是通常的
def sb = new StringBuilder()
Run Code Online (Sandbox Code Playgroud)
但是,我似乎无法记住(或在Google上找到)正确的语法.
java ×8
string ×3
android ×1
arrays ×1
c++ ×1
character ×1
decimal ×1
digest ×1
groovy ×1
md5 ×1
message ×1
operators ×1
optimization ×1
parameters ×1
synchronized ×1