我发现了一些像这样的问题,但我找不到这个特别的问题.我有一些初始化为的字符串
NSString *string = [[NSString alloc] init];
Run Code Online (Sandbox Code Playgroud)
然后根据if/else块的结果为其分配值:
if ([anotherThing isEqualToString:@"boogers"]) {
string = [NSString stringWithFormat:@"some characters"];
} else {
string = [NSString stringWithFormat:@"some _other_ characters"];
}
Run Code Online (Sandbox Code Playgroud)
然后string在方法的后面使用.
如何在不在alloc/init阶段留下死存储的情况下完成此操作?如果我在if(或else)中分配,那么当我需要几行时,字符串就消失了.
对不起,如果我问一个愚蠢的问题,很久没有用Java练习......我写了一些代码来模拟哈希表.这是我的代码的一个功能:
protected int find(K key){
int avail=-1;
int i=hashValue(key);
int j=i;
do{
Entry<K, V> element = bucket[i];
if(element==null){
if(avail<0){
avail=i;
}
break;
}
if(key.equals(element.getK())){
return i; // found
}
if(element==this.used){
if(avail<0){
avail=i;
}
}
i=(i+1)%capa;
}while(i!=j);
return -(avail+1); // return a hash address
}
Run Code Online (Sandbox Code Playgroud)
奇怪的是,当我将if语句if(element == null)改回一点(除了结构的最开头)时,它会警告我这是一个死代码:
protected int find(K key){
int avail=-1;
int i=hashValue(key);
int j=i;
do{
Entry<K, V> element = bucket[i];
if(key.equals(element.getK())){
return i; // found
}
if(element==this.used){
if(avail<0){
avail=i;
}
}
// dead code then
if(element==null){
if(avail<0){ …Run Code Online (Sandbox Code Playgroud) 我正在研究android应用程序,其中我使用逻辑从协调中找到一个人的方向.一切正常,但我在控制台出错:"死码".我的代码如下,请解释一下这个问题.
private void direction() {
String userLocation = mLatitude + ","
+ mLongitude ;
if(userLocation!=null){
String distLocation = Constants.sMY_LOCATION.getLatitude() + ","
+ Constants.sMY_LOCATION.getLongitude();
String url = "https://maps.google.com/maps?f=d&saddr=" + userLocation
+ "&daddr=" + distLocation;
Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
startActivity(i);
}else{ // Getting Dead Code Yellow error here
finish();
Toast.makeText(getBaseContext(), "Please check your internet and try again!", Toast.LENGTH_SHORT).show();
}
}
Run Code Online (Sandbox Code Playgroud) 这是我的代码,Eclipse说的i++是死代码......为什么?
for(int i=0;i<packages.size();i++)
{
PInfo pinfo = new PInfo();
pinfo = packages.get(i);
if(pinfo.pname.contains("com.imdb.mobile"));
{
packagesModified.add(pinfo);
break;
}
}
Run Code Online (Sandbox Code Playgroud)