Skip to content

关于problemUtil的封装 #5

@Jxin-Cai

Description

@Jxin-Cai

问题1:class和interface封装工具类除了代码默认简写外还有其他区别吗?因为interface没有private,所以还是喜欢用class写。
问题2:前后端分离后,数据用map封装放data好还是这样自定义好?

public class ProblemUtil {

    public static Problem createProblem(Object... datas) {
        ProblemBuilder builder = Problem.builder().withDetail("success").with("code", 0);
            for(Object obj:datas){
                String  name = getName(obj);
                builder.with(name,obj);
            }
        return builder.build();
    }

    public static Problem createProblem(String detail, Object... datas) {
        ProblemBuilder builder = Problem.builder().withDetail(detail).with("code", 0);
            for(Object obj:datas){
                String  name = getName(obj);
                builder.with(name,obj);
            }
        return builder.build();
    }

    public  static Problem createProblem(String detail, int code, Object... datas) {
        ProblemBuilder builder = Problem.builder().withDetail(detail).with("code", code);
            for(Object obj:datas){
                String  name = getName(obj);
                builder.with(name,obj);
            }
        return builder.build();
    }
    private static String getName(Object obj){
        String name = null;
        if(obj instanceof List){
            name = ((List) obj).get(0).getClass().getName()+"s";

        }else {
            name  = obj.getClass().getName();
        }
        return tolowFirstCase(name.substring(name.lastIndexOf(".")+1));
    }
    private static String tolowFirstCase(String str) {
        char[] c = str.toCharArray();
        c[0] = (char) (c[0]-(32)); //ASCII
        return c.toString();
    }

}

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions