在Java中,以下内容完全有效:
if (x == null)
Y();
else
Z();
Run Code Online (Sandbox Code Playgroud)
我个人根本不喜欢它.我喜欢我所有的IF语句都有括号:
if (x == null) {
Y();
} else {
Z();
}
Run Code Online (Sandbox Code Playgroud)
eclipse格式化程序非常棒,可以通过许多其他方式美化我的代码.
有没有办法让它为IF语句添加大括号?
我尝试了几个不同的捕获后.我有一些"清理"代码,只有在抛出异常时才应该运行.我可以为每个异常添加相同的代码,但这会成为维护的噩梦.基本上,我喜欢像finally语句这样的东西,但是只有在抛出异常时它才能运行.
这可能吗?
现在我有两个按钮.每个人都需要产生不同的声音.在未来,可能会有大约8个按钮,但现在只有两个.
public class MyActivity extends Activity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
final Button btnDrum1 = (Button) findViewById(R.id.btnDrum1);
btnDrum1.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
MediaPlayer mp = MediaPlayer.create(this, R.raw.drum1);
mp.start();
mp.release();
}
});
final Button btnCym1 = (Button) findViewById(R.id.btnCym1);
btnCym1.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
MediaPlayer mp = MediaPlayer.create(this, R.raw.cym1);
mp.start();
mp.release();
}
});
}
}
Run Code Online (Sandbox Code Playgroud)
最初我没有mp.release(),它会正常播放声音,但最终应用程序会因内存不足而崩溃.现在使用mp.release()它不会崩溃,但有时它在点击时不会播放声音.
这是点击按钮时播放声音最有效的方法吗?它是可扩展的吗?
我需要存储要在我的android程序中使用的数据.以下是有关数据的详细信息:
会有一张桌子.每个"行"数据将具有唯一的INT标识符.除了该字段之外,还将有四个其他INT字段和一个文本字段.字符串字段可能长达2或3个句子.4个INT字段中的每一个将对应于其他行的ID.
将有100行,可能是200行.但是所有行都是只读的,并且预先填充.
数据将被频繁读取,而不是按顺序读取.
存储数据的第一个答案很多次是SQLite,但考虑到数据的细节,另一种存储方法可能更有效.我对任何建议持开放态度,欢迎提供代码示例!
说我有这样的行:
'alpha' 123
'beta' 678
'alpha' 998
'gamma' 212
Run Code Online (Sandbox Code Playgroud)
在VIM中使用搜索和替换正则表达式,将其转换为:
'alpha' 123 : alpha
'beta' 678 : beta
'alpha' 998 : alpha
'gamma' 212 : gamma
Run Code Online (Sandbox Code Playgroud)
基本上,搜索不会替换它正在搜索的内容,而只是将其用于其他内容.在我的脑海中,这应该工作:
:g/'\(.*\)'/s/$/: \1/g
Run Code Online (Sandbox Code Playgroud)
但那没有做到.我如何不消耗我正在搜索的内容但保留它以供使用?
我需要创建这样的东西:
my $valueref = {
1 => 1,
2 => 2,
3 => 3,
4 => 4
};
Run Code Online (Sandbox Code Playgroud)
根据某些条件,它可能高达40,或50或60.在每种情况下,它将是连续的整数,如示例中所示.一旦创建,它将永远不会被更改,只需传递给预先存在的子例程.由于键和值都是连续的,我也可以使用for循环创建哈希.我很好奇什么是创建哈希的最快和/或最有效的方法?或者,如果还有另一种方式可以做到的话?