![](/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.