我试图在对象上调用getter方法但是调用getter取决于变量中的值。
public void met1(String var) {
MyClass m = new MyClass();
if(var.equals("A"))
m.getA();
if(var.equals("B"))
m.getB();
if(var.equals("C"))
m.getC();
}
这是一种方式。另一个可能是使用switch
,但我不想硬编码值,因为它们可能会改变。有没有更好的方法呢?
答案 0 :(得分:1)
String是一个不是基本类型的类,你不能比较使用<script>
$(document).ready(function () {
$("#logout").click(function () {
var form = document.createElement('form');
form.setAttribute('action', '${pageContext.request.contextPath}/logout/user');
form.setAttribute('method', 'POST');
document.body.appendChild(form);
form.submit();
});
});
</script>
的var类的String类的实例,这将无效!!!
您需要使用方法==
,例如:equals
除了形式,这种方式很好。
另一种方法是使用不带if语句的反射:
if(var.equals("A")) then ...