![](/img/trans.png)
[英]throwing java.lang.UnsupportedOperationException on some devices
[英]Why is this program throwing java.lang.UnsupportedOperationException
import java.util.Map;
class Test {
public static void main(String[] args) {
Map<String, String> env = System.getenv();
System.out.println(env);
env.put("ID", "1");
}
}
我在初始化时添加一些键值对,然后再添加一个键值对,这样程序有什么问题?
我在初始化时在地图中添加了一些键值对
不你不是。 您正在初始化Map引用变量env
,以引用由System.getEnv()
调用返回的预先存在的映射。
然后再添加一个键值对,这样程序有什么问题?
如上所述,您是第一次尝试添加键值对。 地图的Javadoc。 它说put
方法是一个可选操作。 实际上, getEnv()
返回的映射类型不支持put()
。
你究竟想做什么? 如果要更改子进程的环境,请使用ProcessBuilder
类,该类允许您指定其他环境变量。 如果您正在尝试更改当前进程的环境,那么只需创建自己的私有Map,将getEnv()
所有条目复制到其中,然后在您需要的任何地方使用您自己的映射而不是getEnv()
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.