![](/img/trans.png)
[英]Error:(24, 46) error: diamond operator is not supported in -source 1.6 (use -source 7 or higher to enable diamond operator)
[英]Java Combo Box Diamond Operator not supported in source 1.6
背景
我開發了一個程序來處理數據庫中的數據。 但是,那不是我的問題,所以我將直接指出。
我在JFrame上創建了一個名為“輸出重新格式化的數據文件”的組合框。 組合框應允許用戶選擇特定的月份,以便該程序對在2016年2月創建的文件進行過濾搜索。
問題
選項當然是一年中的幾個月。 我的問題是initComponents()方法中的代碼,該組合框的下划線為“紅色錯誤”!
該錯誤顯示:“源1.6不支持鑽石運算符,請使用源1.7或更高版本”。
我不明白的
我認為源1.6對應於您擁有的JDK。 因此,可以肯定的是,只有JDK 1.6才有源1.6。 但是擁有JDK 1.8和Netbeans 8.0.2,那么Netbeans為何說我使用源代碼1.6?
我真的很感謝任何向我解釋這個問題的人,因為我已經有近兩個月的時間了。 同時,我也會做更多自己的研究。
初始化組件
jLabel4.setFont(new java.awt.Font("Tahoma", 1, 13)); // NOI18N
jLabel4.setText("Month");
jLabel4.setToolTipText("");
Month_ComboBox.setModel(new javax.swing.DefaultComboBoxModel<>(new String[] { "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" }));
Month_ComboBox.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
Month_ComboBoxActionPerformed(evt);
}
});
我認為源1.6對應於您擁有的JDK。 因此,可以肯定的是,只有JDK 1.6才有源1.6。 但是擁有JDK 1.8和Netbeans 8.0.2,那么Netbeans為何說我使用源代碼1.6?
嗯,不完全-它對應於您的源代碼被編譯為的語言版本。 較晚的編譯器能夠像只有較早版本的編譯器一樣進行編譯是非常正常的,因此,如果團隊中的多個人具有不同的版本,則不會出現一個人將代碼檢入到另一個人的情況。無法編譯。
只需更改項目設置以使用1.8的源兼容性級別即可。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.