Also, if one will be doing a lot of repeated compares of the same
String values, String.intern() can be used to get a pointer that can
be compared to other pointers to interned Strings.

Some Strings (I'm thinking all String literals in a program) are
defined to be already interned.  So, eg, if ClassA.methodA calls
ClassB.methodB and passes a value that originated as the literal "Some
String!", one could (if they knew the value originated as a literal)
safely compare to the literal "Some String!" in methodB using the "=="
comparison.

On Apr 21, 5:56 am, Shawn Holland <[email protected]> wrote:
> Your code is checking to see if the two variables referencing the same
> object. You need to use the equals method...
>
> bb = (xx.equals(Local1));
>
> On Apr 20, 12:08 am, Perry168 <[email protected]> wrote:
>
> > Hi,
> > Today, I wrote a program. The function is to get the installed
> > packages name through the provider name. But I find a problem, when I
> > compare two SAME strings. The Boolean result will be FALSE.
> > I used the Eclipse to watch the value change. From expression, I saw
> > the Local1 and xx are same. But the Boolean bb is false. Also I
> > installed the apk to phone too. I found the result is "FALSE" too.
> > I don’t know the problem come from and how to fix it.
> > I hope who can teach me.
> > Following is my main.XML and source.
>
> >  < XML >
>
> > <?xml version="1.0" encoding="utf-8"?>
> > <LinearLayout xmlns:android="http://schemas.android.com/apk/res/
> > android"
> >     android:orientation="vertical"
> >     android:layout_width="fill_parent"
> >     android:layout_height="fill_parent"
> >     >
> >     <TextView android:text="TextView" android:id="@+id/tV1"
> > android:layout_width="wrap_content"
> > android:layout_height="wrap_content"></TextView>
> >     <Button android:text="Button" android:id="@+id/bn1"
> > android:layout_width="wrap_content"
> > android:layout_height="wrap_content"></Button>
> > </LinearLayout>
>
> > < JAVA SOURCE >
> > import java.util.List;
> > import android.app.Activity;
> > import android.content.pm.PackageInfo;
> > import android.content.pm.ProviderInfo;
> > import android.os.Bundle;
> > import android.view.View;
> > import android.view.View.OnClickListener;
> > import android.widget.Button;
> > import android.widget.TextView;
>
> > public class FindPackage extends Activity  implements OnClickListener
> > {
>
> >     TextView tV1;
> >     Button bn1;
> >         String xx = "com.android.alarmclock";
> >         Boolean bb = false;
>
> >     @Override
> >     public void onCreate(Bundle savedInstanceState) {
> >         super.onCreate(savedInstanceState);
> >         setContentView(R.layout.main);
>
> >     tV1 = (TextView) findViewById (R.id.tV1);
> >     bn1 = (Button) findViewById (R.id.bn1);
> >     bn1.setOnClickListener (this);
> >     }
>
> >         @Override
> >         public void onClick(View v) {
>
> >         if (v == bn1){
> >                 List <PackageInfo>  aa = null;
> >                 ProviderInfo [] kk = null;
> >                 String Local1 = "";
> >                 aa =  this.getPackageManager().getInstalledPackages(8); // 
> > Get all
> > Packages
> >                 int i = aa.toArray().length-1; // Get Number of Packages
>
> >         while (i>=0)
> >         {
> >                 kk = aa.get(i).providers; // Withdraw the Provider
> >                 if (kk == null){
> >                         i--;
> >                         continue;
> >                 }
> >                 if (kk[0].name.contains("Alarm")) // Checking the Provider 
> > name
> > which has Alarm word"
> >                                 {
> >                                 Local1 = kk[0].packageName; // put the 
> > package name into
> > Local1
> >                                 break;
> >                                 }
> >                 i--;
> >         }
>
> >                 i = 0;
>
> >             bb = (xx==Local1);
>
> >             tV1.setText(bb+""); // Show the result
>
> >         }
>
> >         }}

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to