为什么没有parameters.getFlashMode()== Camera.Parameters.FLASH_MODE_OFF返回true?

Bar*_*iva -1 java camera android android-camera

我正在尝试确定闪光灯是打开还是关闭,这样只需一个按钮我就可以打开和关闭闪光灯.这是我的代码:

Camera cam = getCameraInstance(); //A method that opens the cam
            Camera.Parameters parameters = cam.getParameters();
            System.out.println("Current flash mode " + parameters.getFlashMode());
            System.out.println("flash mode off equals to : " + Camera.Parameters.FLASH_MODE_OFF);
            System.out.println(parameters.getFlashMode() == Camera.Parameters.FLASH_MODE_OFF);
Run Code Online (Sandbox Code Playgroud)

前两个系统的输出是off.当然我假设因为它们都返回一个off字符串,将==操作符放在它们之间会返回true(因此允许我检查闪存是否打开)但它返回false.知道为什么吗?

我的目标是api 16并在Marshmallow设备上进行测试

Ste*_*vić 6

如果您检查文档,您将看到这些参数是Strings,并且您没有比较Java中的字符串==.你那样做equals.