gpt4 book ai didi

java - 在没有 #ifdef 预处理器的情况下定义变量

转载 作者:行者123 更新时间:2023-11-30 04:43:40 24 4
gpt4 key购买 nike

我有 C++ 背景。在我的java项目中间的某个地方,我需要定义一个变量,其类型取决于 boolean 值(我之前已经定义过)我可以这样做吗:

if(Main.NEW_STYLE)
ArrayList<LogFileLine> lineBuffer = new ArrayList<LogFileLine>();
else
ArrayList<String> lineBuffer = new ArrayList<String>();

如果不行,请问有什么解决办法吗?谢谢

最佳答案

可以使用原始类型(只是ArrayList),但我强烈不鼓励使用原始类型,因为原始类型的存在只是为了向后兼容 pre -通用代码。

适当的解决方案可能是将该列表封装到一个接口(interface)中,并具有两个单独的实现类(并根据 boolean 值选择实现类)。

关于java - 在没有 #ifdef 预处理器的情况下定义变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11645806/

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