gpt4 book ai didi

java - 在 if-else 语句期间进行转换

转载 作者:行者123 更新时间:2023-11-29 07:18:43 25 4
gpt4 key购买 nike

我正尝试在 if - else 语句中转换一个对象,如下所示:

if(sourceSystem.equalsIgnoreCase("Src")) {
MO object = (MO) transformer.create(message,sourceSystem,flowName);
} else {
UO object = (URO) transformer.create(message,sourceSystem,flowName);
}

但是不能在这些之外访问它?

validator.validate(object);

无法解析为变量。但可以肯定的是,该对象是在 if-else 语句中创建和分配的。该对象将始终被创建,因此为什么编译器告诉我它不能解析为一个变量。是的,如果我需要访问 UO 和 MO 之间的通用方法,我会获得本地和全局变量。

最佳答案

你无法通过这种方式实现你想要的。最好试试这个:

Object object = transformer.create(message,sourceSystem,flowName);
if( object instanceof MO )
{
//cast and use it as MO
}//if
else
{
//cast and use it as UO
}//else

如果 UO 和 MO 共享您在每个 block 中使用的方法,则继承可以帮助您对两个 block 的代码进行分组。

关于java - 在 if-else 语句期间进行转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7176282/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com