Описывая кнопки через switch case, задался вопрос есть ли разница, между различной реализацией кода?
/* Button.OnClickListener onClickListener = new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                switch (button.getId()) {
                    case R.id.button:
                        if (bIcon) {
                            mySound = MediaPlayer.create(list2.this, R.raw.vsolo);
                            mySound.start();
                            button.setImageResource(R.drawable.tiltedyes);
                        } else {
                            mySound.reset();
                            button.setImageResource(R.drawable.tilted);
                        }
                        bIcon = !bIcon;
                        break;
                }
            }
        };
        button.setOnClickListener(onClickListener);*/
и 
button.setOnClickListener(new View.OnClickListener() {
           @Override
            public void onClick(View v) {
                switch (button.getId()) {
                    case R.id.button:
                        if (bIcon) {
                            mySound = MediaPlayer.create(list2.this, R.raw.vsolo);
                            mySound.start();
                            button.setImageResource(R.drawable.tiltedyes);
                        } else {
                            mySound.reset();
                            button.setImageResource(R.drawable.tilted);
                        }
                        bIcon = !bIcon;
                        break;
                }
            }
        });
Есть ли между ними разница? Возможно ли определенное преимущество? Или все равно?