简体   繁体   中英

String comparison not working (android)

My string comparison is not working. I do not know why. It returns that it is always equal even when the two strings are not the same

here is the code Im using

if(videoFile.equals(LangSelect.INSTRUCTION_01));
    {
        Log.i("InstructionVideo", "video and instruction are equal\n"+ videoFile + "\n" + LangSelect.INSTRUCTION_01);

        //hideBackButton();
    }

The videoFile is intro_x.mp4 where x changes to number from 0 to 4 while INSTRUCTION_01 is into_0.mp4

the part of my onCreate that does sets videoFile variable

    //get which video file to play
    videoFile = getIntent().getExtras().getString("PlayVideo");

    Log.i("InstructionVideo", "videoFile name: " +videoFile);

Here is the LogCat of that portion

 05-15 14:59:57.078: I/InstructionVideo(2952): videoFile name: intro_0.mp4
 05-15 14:59:57.085: I/InstructionVideo(2952): video and instruction are equal
 05-15 14:59:57.085: I/InstructionVideo(2952): intro_0.mp4
 05-15 14:59:57.085: I/InstructionVideo(2952): intro_0.mp4
 05-15 14:59:57.124: I/surfaceCreated(2952): created
 05-15 14:59:58.324: I/LangSelect(2952): 7
 05-15 14:59:58.390: I/InstructionVideo(2952): videoFile name: intro_1.mp4
 05-15 14:59:58.390: I/InstructionVideo(2952): video and instruction are equal 
 05-15 14:59:58.390: I/InstructionVideo(2952): intro_1.mp4
 05-15 14:59:58.390: I/InstructionVideo(2952): intro_0.mp4
 05-15 14:59:58.433: I/surfaceCreated(2952): created
 05-15 14:59:58.484: I/SurfaceDestroyed(2952): destroyed
 05-15 15:00:07.382: I/LangSelect(2952): 7
 05-15 15:00:07.445: I/InstructionVideo(2952): videoFile name: intro_2.mp4
 05-15 15:00:07.449: I/InstructionVideo(2952): video and instruction are equal
 05-15 15:00:07.449: I/InstructionVideo(2952): intro_2.mp4
 05-15 15:00:07.449: I/InstructionVideo(2952): intro_0.mp4
 05-15 15:00:07.488: I/surfaceCreated(2952): created
 05-15 15:00:07.539: I/SurfaceDestroyed(2952): destroyed
 05-15 15:00:23.535: I/LangSelect(2952): 7
 05-15 15:00:23.597: I/InstructionVideo(2952): videoFile name: intro_3.mp4
 05-15 15:00:23.597: I/InstructionVideo(2952): video and instruction are equal
 05-15 15:00:23.597: I/InstructionVideo(2952): intro_3.mp4
 05-15 15:00:23.597: I/InstructionVideo(2952): intro_0.mp4
 05-15 15:00:23.632: I/surfaceCreated(2952): created
 05-15 15:00:23.687: I/SurfaceDestroyed(2952): destroyed
 05-15 15:00:38.843: I/LangSelect(2952): 7
 05-15 15:00:38.902: I/InstructionVideo(2952): videoFile name: intro_4.mp4
 05-15 15:00:38.906: I/InstructionVideo(2952): video and instruction are equal
 05-15 15:00:38.906: I/InstructionVideo(2952): intro_4.mp4
 05-15 15:00:38.906: I/InstructionVideo(2952): intro_0.mp4
 05-15 15:00:38.941: I/surfaceCreated(2952): created
 05-15 15:00:38.992: I/SurfaceDestroyed(2952): destroyed
 05-15 15:01:13.242: I/LangSelect(2952): 7
 05-15 15:01:13.296: I/SurfaceDestroyed(2952): destroyed

It shows that even as i compare them they return true but are not

There's a ; at the end of the "if" line, which terminates the "if" statement, therefore the following block is always executed.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM