我使用带有构建器模式的lombok构造了一个Java对象。但是,当尝试使用Jackson来反序列化Java对象时,出现以下异常。对于具有@JsonProperty
注释的字段,会发生这种情况。
线程“ main”中的异常com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException:无法识别的字段“ user_name”(类User $ UserBuilder),未标记为
位于[[来源:(String)“ {” userId“:1,” user_name“:” username“}”; 行:1,列:26](通过参考链:User $ UserBuilder [“ user_name”])
使用的代码:
public class TestJson {
public static void main(String args[]) throws Exception {
ObjectMapper objectMapper = new ObjectMapper();
User user = User.builder()
.userName("username")
.userId(1)
.build();
System.out.println(user);
String string = objectMapper.writeValueAsString(user);
System.out.println(string);
user = objectMapper.readValue(string, User.class);
System.out.println(user);
}
}
@JsonDeserialize(builder = User.UserBuilder.class)
@Getter
@ToString
@Builder(toBuilder = true)
class User {
@JsonProperty("user_name")
@NonNull
private String userName;
@JsonProperty
private int userId;
@JsonPOJOBuilder(withPrefix = "")
public …
Run Code Online (Sandbox Code Playgroud) 我是MPI的新手.我写了一个简单的代码来显示使用多个进程的矩阵.如果我有一个8x8的矩阵并用4个进程启动MPI程序,那么我的第1个进程将打印第2个2行,第2个线程将由第2个线程打印,然后将它自己分开.
#define S 8
MPI_Status status;
int main(int argc, char *argv[])
{
int numtasks, taskid;
int i, j, k = 0;
MPI_Init(&argc, &argv);
MPI_Comm_rank(MPI_COMM_WORLD, &taskid);
MPI_Comm_size(MPI_COMM_WORLD, &numtasks);
int rows, offset, remainPart, orginalRows, height, width;
int **a;
// int a[S][S];
if(taskid == 0)
{
cout<<taskid<<endl;
height = width = S;
a = (int **)malloc(height*sizeof(int *));
for(i=0; i<height; i++)
a[i] = (int *)malloc(width*sizeof(int));
for(i=0; i<S; i++)
for(j=0; j<S; j++)
a[i][j] = ++k;
rows = S/numtasks;
offset = rows;
remainPart = S%numtasks;
cout<<"Num …
Run Code Online (Sandbox Code Playgroud)