如何将String类型的双精度数组转换为int类型的双精度数组?

    @PostMapping("/hole/coordinate")
    @ResponseBody
    public String saveCoordinate(@RequestBody Map<String, Object> params) {
        System.out.println("params = " + params);
        System.out.println("params = " + params.get("coordinate"));
        
        return "success";
    }

System.out.println(params.get("coordinate"));store

我想知道如何将字符串转换为int[][].

我试过了,如下所示

int[] arr= Stream.of(str.replaceAll("[\\[\\]\\, ]", "").split("")).mapToInt(Integer::parseInt).toArray();
for (int i : arr) {
    System.out.println("i = " + i);
}

但它给了我

4
4
5
2
9
2
...

致以最诚挚的问候!

推荐答案

您可以手动解析它,就像在其他答案中所做的那样,但是由于您使用的是spring,所以您应该使用它为您提供的工具.

Spring默认使用jackson的ObjectMapper进行序列化和反序列化.这种类型的bean是为您预先配置的,您可以在控制器方法中自动连接并使用它.那么整个解析过程是这样的:

int[][] parsedCoordinates = objectMapper.readValue(coordinates, int[][].class);

您的控制器方法如下所示:

@PostMapping("/hole/coordinate")
@ResponseBody
public String saveCoordinate(@RequestBody Map<String, Object> params, ObjectMapper objectMapper) {
    System.out.println("params = " + params);
    System.out.println("params = " + params.get("coordinate"));
    //get string from your params
    String coordinates = "[[445, 292], [585, 331], [612, 223], [205, 532]]";
    int[][] parsedCoordinates;
    try {
        parsedCoordinates = objectMapper.readValue(coordinates, int[][].class);
    } catch (JsonProcessingException exc) {
        //that's a bad way to handle error, but it's an example
        //you might return error message like - invalid coordinate format
        //or whatever you need
        exc.printStackTrace();
        throw new RuntimeException(exc);
    }
    //printing parsed result to check it
    for (int i = 0; i < parsedCoordinates.length; i++) {
        int[] inner = parsedCoordinates[i];
        for (int j = 0; j < inner.length; j++) {
            System.out.printf("pos %d-%d, value %d%n", i, j, parsedCoordinates[i][j]);
        }
    }
    return "success";
}

Java相关问答推荐

[145007:JC_ILLEGAL_SYMBOL_CHARACTER保存时:griddb中的牧师

日食IDE 2024-03在Ubuntu下崩溃,导致hr_err_pid.log

Mongo DB Bson和Java:在子文档中添加和返回仅存在于父文档中的字段?

Android -如何修复Java.time.zone. ZoneRulesExcept:未知时区ID:Europe/Kyiv

为什么我们不能实现两个接口,其中一个接口有相同的签名,其中一个接口有默认的实现在java?'

Chunk(Int)已弃用并标记为要删除

为什么我的在一个范围内寻找素数的程序不能像S所期望的那样工作

Com.example.service.QuestionService中的构造函数的参数0需要找不到的类型为';com.example.Dao.QuestionDao;的Bean

第三方Jar pom.xml

在VS代码中,如何启用Java Main函数的&Q;Run|DEBUG&Q;代码?

在处理2个映射表时,没有更多的数据可从套接字读取

来自外部模块的方面(对于Java+Gradle项目)不起作用

如何在Java中为thunk创建映射器函数

记录是类的语法糖吗?

如何从命令行编译包中的所有类?

在Java中将对象&转换为&q;HashMap(&Q)

基于Java中mm/dd/yy格式的最近日期对数组列表进行排序

如何在右击时 Select 新行?

我们可以在方法中声明接口吗?

ReturnedRect在升级后反转