如何从单个方法返回两个不同的类

时间:2017-06-08 21:09:38

标签: java spring-boot

import theano
import theano.tensor as T
import keras.backend as K
J = T.grad(model.output[0, 0], model.input)
jacobian = K.function([model.input, K.learning_phase()], [J])

2 个答案:

答案 0 :(得分:4)

您可以使用Generics实现此目的。您尚未解释ProfileEntityProfile之间的关系。因此,假设您有一个名为BaseProfile的东西并且这两个Profile对象扩展了它们,您可以将返回类型写为:

public ResponseEntity <? extends BaseProfile>

这样您就可以返回BaseProfile类型的任何对象。

如果ProfileEntityProfile的父类,则您的代码(public ResponseEntity <Profile>)应该可以正常工作。但是,如果要返回任何类型的对象,可以将返回类型更改为:

 public ResponseEntity <?>

答案 1 :(得分:0)

您可以尝试创建一个包含EntityProfile属性和Profile属性的新类:

public class CombinedClass{
     EntityProfile entity;
     Profile profile;
}

然后让您的方法返回一个CombinedClass,并返回您需要返回的类。然后在接收端,您只需要在尝试获取数据之前检查实体或配置文件是否为空。

public ResponseEntity<CombinedClass> getProfile(@PathVariable("id") String id){
    CombinedClass combined = new CombinedClass();
    if(id != null){
        combined.EntityProfile = //the EntityProfile you'll return
    }
    if(CUSTOMER == null){
        combined.profile= //the Profile you'll return
    }
    return combined;
}

更多代码可以帮助理解您的需求。