gpt4 book ai didi

java - 同时链接多个方法调用?提供的示例

转载 作者:行者123 更新时间:2023-12-02 10:13:12 24 4
gpt4 key购买 nike

简单地说,我有一个 if 语句,它具有多个不同的结果,但有很多共同的代码。
我想确保以下代码是执行我想做的事情的正确方法
(例如:链接方法调用,如图所示)..这是正确的吗?

SharedPreferences getPrefs =
PreferenceManager.getDefaultSharedPreferences(getApplicationContext());

final String notifType = getPrefs.getString
(PREF_NOTIFICATION_TYPE, NOTIFICATION_TYPE_SOUND_AND_VIBRATION);

if (notifType != null && notifType.equals
(NOTIFICATION_TYPE_SOUND_AND_VIBRATION)) {
// Call the appropriate Methods, depending on the Preference..
notificationVibration();
playNotificationTone();
showReminderNotification();

} else if (notifType !=null && notifType.equals
(NOTIFIATION_TYPE_VIBRATION_ONLY)) {
// Calling alot of the same code, but minus the Sound..
notificationVibration();
showReminderNotification();

} else if (notifType !=null && notifType.equals
(NOTIFIATION_TYPE_SILENT_REMINDER)) {
// Again re-using common code..
showReminderNotification();
}

public void notificationVibration() {
// Vibration code here
}

public void playNotificationTone() {
// Sound code here
}

public void showReminderNotification() {
// Notification code here
}
<小时/>

SO - 这是正确的方法吗?
我可以链接方法调用(如图所示)并让它们同时触发吗?
如果不是,有效执行此操作的正确方法是什么?
非常感谢您的反馈!谢谢。

最佳答案

您可以使用内部带有 switchif block :

if (notifType != null) {
switch(notifType) {
case NOTIFICATION_TYPE_SOUND_AND_VIBRATION:
....
break;
case NOTIFIATION_TYPE_VIBRATION_ONLY:
....
break;
case NOTIFIATION_TYPE_SILENT_REMINDER:
....
}
}

您还可以使用多个 if 语句来代替 switch。 use 使代码更高效的唯一方法是使用 if (notifType != null) 一次。

关于java - 同时链接多个方法调用?提供的示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54853301/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com