2012-02-17 2 views
0

Мой метод saveMyProfile появляется ложно 2 раза, и я не могу понять, как добраться до истины. Спасибо за ваше время.saveMyProfile оценивает false 2 раза

import student.web.SharedPersistentMap; 
import student.*; 
import java.util.*; 

Создает SharedPersistentMap для профилей пользователей.

public class ProfileViewer 
extends UserProfile 
{ 

Instance/статические переменные

private SharedPersistentMap <UserProfile> profiles; 
private UserProfile myProfile; 

Конструктор

Создает новый объект ProfileViewer с SharedPersistentMap.

public ProfileViewer() 
{ 
    profiles = new SharedPersistentMap <UserProfile> (UserProfile.class); 
} 

Методы

Задает имя нового профиля.

@param newMyProfile Новое имя профиля.

public void setMyProfile (UserProfile newMyProfile) 
{ 
    myProfile = newMyProfile; 
} 

Получает имя профиля.

@return myProfile;

public UserProfile getMyProfile() 
{ 
    return myProfile; 
} 

Создает новый

@param Имя пользователя, имя пользователя.

public void createNewMyProfile (String username) 
{ 
    if ((username != null) && !(username.isEmpty())) 
    { 
     UserProfile userProf2 = new UserProfile(); 
     userProf2.setName(username); 
     setMyProfile(userProf2); 
    } 
} 

Сохраняет новый профиль.

public void saveMyProfile() 
{ 
    if (((myProfile != null) && (myProfile.getName() != null)) 
     && (myProfile.getName().isEmpty())) 
    { 
     profiles.put(myProfile.getName(), myProfile); 
    } 
} 

Загружает желаемый профиль.

@param username Имя пользователя.

public void loadMyProfile (String username) 
{ 
    if ((username != null) && !(username.equals(""))) 
    { 
     myProfile = profiles.get(username); 
    } 
} 
} 
+0

Вашего бессвязного кода почти невозможно. Как насчет отправки кода в одном блоке, как мы привыкли его видеть? Как насчет того, чтобы немного времени набрать несколько предложений, дающих более подробную информацию о вашей программе и вашей проблеме. Следующее правило - приложить столько усилий, чтобы задать свой вопрос, как вы хотите, чтобы кто-то ответил на него. –

ответ

2
public void saveMyProfile() 
{ 
    if (((myProfile != null) && (myProfile.getName() != null)) 
     && (myProfile.getName().isEmpty())) 
    { 
     profiles.put(myProfile.getName(), myProfile); 
    } 
} 

Я думаю, ваша проблема в том, вы проверяете ваш myProfile.getName().isEmpty() в качестве дополнительного условия

Я думаю, что вы хотели бы сделать это (!myProfile.getName().isEmpty()) добавить не (!) :)

Смежные вопросы