Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/187.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_Android_List_Sorting_Arraylist - Fatal编程技术网

Java 如何停止模型类中的自动订单字段?

Java 如何停止模型类中的自动订单字段?,java,android,list,sorting,arraylist,Java,Android,List,Sorting,Arraylist,我创建了一个模型类(此处仅显示构造函数) 然后添加一些数据 list.add(new PieceModel(1, 100)); list.add(new PieceModel(2, 300)); list.add(new PieceModel(3, 600)); 然后我把列表转换成字符串,它像这样打印出来 [{"piece_id":100,"position":1},{"piece_id":300,"position":2},{"piece_id":600,"position":3}] [{

我创建了一个模型类(此处仅显示构造函数)

然后添加一些数据

list.add(new PieceModel(1, 100));
list.add(new PieceModel(2, 300));
list.add(new PieceModel(3, 600));
然后我把列表转换成字符串,它像这样打印出来

[{"piece_id":100,"position":1},{"piece_id":300,"position":2},{"piece_id":600,"position":3}]
[{"position":1,"piece_id":100},{"position":2,"piece_id":200},{"position":3,"piece_id":300}]
但我需要这样

[{"piece_id":100,"position":1},{"piece_id":300,"position":2},{"piece_id":600,"position":3}]
[{"position":1,"piece_id":100},{"position":2,"piece_id":200},{"position":3,"piece_id":300}]

请给我一些建议。

像这样的建议?是否覆盖
toString
并重新排列属性

static class PieceModel {
    private int position;
    private int piece_id;

    public PieceModel(int position, int piece_id) {
        this.position = position;
        this.piece_id = piece_id;
    }

    @Override
    public String toString() {
        return "{" +
                "position=" + position +
                ", piece_id=" + piece_id +
                '}';
    }
}

public static void main(String[] args) {
    List<PieceModel> list = new ArrayList<>();
    list.add(new PieceModel(1, 100));
    list.add(new PieceModel(2, 300));
    list.add(new PieceModel(3, 600));
    System.out.print(list.toString());
}

像这样的?是否覆盖
toString
并重新排列属性

static class PieceModel {
    private int position;
    private int piece_id;

    public PieceModel(int position, int piece_id) {
        this.position = position;
        this.piece_id = piece_id;
    }

    @Override
    public String toString() {
        return "{" +
                "position=" + position +
                ", piece_id=" + piece_id +
                '}';
    }
}

public static void main(String[] args) {
    List<PieceModel> list = new ArrayList<>();
    list.add(new PieceModel(1, 100));
    list.add(new PieceModel(2, 300));
    list.add(new PieceModel(3, 600));
    System.out.print(list.toString());
}

阅读如何使用比较器对列表进行排序。会有帮助的。如果你不能正确地实现它,请在阅读完之后回来。@Nicholas K我不认为他在谈论排序。他只是希望属性以他设置的方式显示。属性顺序重要吗,因为您仍然要使用名称访问它?@KiraAG:查看OP使用的标记。上面清楚地写着:“尼古拉斯·卡娅,我看到了,但OP的ask声明了另外一种情况。我会让OP决定他想要什么。无论如何,谢谢你参考这个链接,我学到了一些新东西。请阅读如何使用
比较器对列表进行排序。会有帮助的。如果你不能正确地实现它,请在阅读完之后回来。@Nicholas K我不认为他在谈论排序。他只是希望属性以他设置的方式显示。属性顺序重要吗,因为您仍然要使用名称访问它?@KiraAG:查看OP使用的标记。上面清楚地写着:“尼古拉斯·卡娅,我看到了,但OP的ask声明了另外一种情况。我会让OP决定他想要什么。无论如何,感谢您引用了链接,我学到了一些新东西。不确定他如何打印值,如果
list.toString()
,我想在模型类上重写toString(),否则,是的,手动打印是的,这就是我需要知道的。它正在工作,现在我可以自定义它。谢谢@nhpYou's welcome:d不确定他如何打印出值,如果
list.toString()
,我想在模型类上重写toString(),否则,是的,手动打印是的,这就是我需要知道的。它正在工作,现在我可以自定义它。谢谢@nhpy欢迎你:D