Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
当对象是列表时,是否替换列表中的对象?JAVA_Java_List_Object - Fatal编程技术网

当对象是列表时,是否替换列表中的对象?JAVA

当对象是列表时,是否替换列表中的对象?JAVA,java,list,object,Java,List,Object,你好,我是斯塔克, 我有一个关于物品清单的问题 我试过写一些东西,但没找到。 当这些对象是自己的列表时,如何在对象列表中查找对象 这就是我到目前为止所做的: 配方是以下列表:{修改[],成分[],recipeBookName,recipeName} public void removeFromBook(Recipe recipeName) { recipes = getRecipes(); emptyRecipe = getEmptyPage(recipeBookName);

你好,我是斯塔克, 我有一个关于物品清单的问题

我试过写一些东西,但没找到。 当这些对象是自己的列表时,如何在对象列表中查找对象

这就是我到目前为止所做的:

配方是以下列表:{修改[],成分[],recipeBookName,recipeName}

public void removeFromBook(Recipe recipeName) {
    recipes = getRecipes();
    emptyRecipe = getEmptyPage(recipeBookName);
现在,我想用emptyRecipe替换一个有recipeName的菜谱。 我想会是这样的:

for(r in recipes) {
    if(r.recipeName == recipeName) {
        list.replace(Recipe, emptyRecipe)
    } else {

    }
}
有什么想法吗

下面是我的Recipe类构造函数:

    public String[] modifications;
public String[] ingredients;
public String recipeName;
public String partOfRecipeBook;

public Recipe(String recipeName, String[] modifications, String[] ingredients, String recipeBookName){
    setRecipeModifications(modifications);
    setRecipeIngredients(ingredients);
    setRecipeName(recipeName);
    setRecipeBookName(recipeBookName);
}

您的方法看起来不错,只是您应该将字符串与等于进行比较:

if(r.recipeName.equals(recipeName)) {
现在,更简单的方法是将您的食谱存储在地图中:

Map<String, Recipe> recipes = new HashMap<String, Recipe>();
recipes.put("Pizza with Lobster", new Recipe());

而且旧的配方已经被替换。

您的方法看起来不错,只是您应该将字符串与等于进行比较:

if(r.recipeName.equals(recipeName)) {
现在,更简单的方法是将您的食谱存储在地图中:

Map<String, Recipe> recipes = new HashMap<String, Recipe>();
recipes.put("Pizza with Lobster", new Recipe());

而旧的配方已经被替换。

使用一个包含对象的列表(其中一些是数组)并不是最好的方法,最好是定义一个新的对象配方并使用它

public class Recipe {
    private List<Ingredient> ingredients;
    private List<Modification> modifications;
    private String bookName;
    private String book;
}

使用包含一些数组的对象的列表不是最好的方法,最好定义一个新的对象配方并使用它

public class Recipe {
    private List<Ingredient> ingredients;
    private List<Modification> modifications;
    private String bookName;
    private String book;
}

所以你有一个列表,每个列表都是一个食谱列表?使用List并没有真正利用泛型。你能给我们展示更多的代码吗,比如你是如何向列表中添加对象的,你制作了什么对象,等等。看起来你使用的单词列表不像java程序员所期望的那样。你不是指java.util.List,是吗?配方的类型是什么?配方是一个列表:{修改[]、成分[]、recipeBookName、recipeName},听起来不对。我不认为你应该使用一个列表来存储不同的东西,但是定义你自己的类,它有专门的成员用于修改、成分等等。等等,让我搜索我的代码:那么你有一个列表,每个列表都是一个配方列表?使用List并没有真正利用泛型。你能给我们展示更多的代码吗,比如你是如何向列表中添加对象的,你制作了什么对象,等等。看起来你使用的单词列表不像java程序员所期望的那样。你不是指java.util.List,是吗?配方的类型是什么?配方是一个列表:{修改[]、成分[]、recipeBookName、recipeName},听起来不对。我不认为你应该使用一个列表来存储不同的东西,但是定义你自己的类,它有专门的成员用于修改、成分等等。嗯,等一下,让我搜索我的代码:是的,我应该多喝点咖啡,休息一下,我真的把我的东西搞砸了。。太多的编码:谢谢抱歉,replaceItem不存在。@DavidVandenbroucke,如果您确实使用了类成分而不是字符串,那么请记住实现一个由indexOf使用的等于函数。这个函数最终成功了:更改了绿色V:再次感谢!是的,我应该多喝点咖啡休息一下,我真的把我的东西弄乱了。。太多的编码:谢谢抱歉,replaceItem不存在。@DavidVandenbroucke,如果您确实使用了类成分而不是字符串,那么请记住实现一个由indexOf使用的等于函数。这个函数最终成功了:更改了绿色V:再次感谢!