相关疑难解决方法(0)

如何让eclipse使用不同的Java编译器版本?

看起来这应该是一个简单的任务,在Preferences菜单中为不同的JRE提供选项,并且能够为每个项目设置不同的编译器和构建路径.但是,它似乎根本行不通.

例如,我将JAVA_HOME设置为Java 1.6的jre.我仍然不清楚Eclipse如何使用它,但它似乎是默认的,并没有采取项目覆盖.我还安装了Java 1.5,并在Java-> Installed JREs部分的eclipse中为此添加了一个JRE.

在我的项目中,我将编译器合规性级别设置为1.5.在项目的构建路径中,我添加了Java 1.5 JRE的系统库.但是,我正在为实现PreparedStatement的类获取编译错误,因为它没有实现仅存在于Java 1.6 PreparedStatement中的抽象方法.具体来说,方法

setAsciiStream(int, InputStream, long) and 
setAsciiStream(int, InputStream)
Run Code Online (Sandbox Code Playgroud)

奇怪的是,当我们针对最初为其编写的Java 1.4编译它时,它起作用了.我们为Java 1.4添加了JRE并在项目中引用了该系统库,并将项目的编译器级别设置为1.4,并且它工作正常.但是,当我做同样的更改以试图指向Java 1.5时,它反而使用1.6.

有什么想法吗?

java eclipse

34
推荐指数
3
解决办法
12万
查看次数

无法在JRE7中的switch语句中计算String类

我正在尝试构建一个简单的程序,演示如何在switch语句中使用String类,但我收到编译错误,因为此功能需要Java SE 7(我的计算机中已经安装了).

第5行的错误消息:无法打开String类型的值.只允许使用可转换的int值或enum consants

Eclipse是否指向JRE7?=是.Environnement变量指向JDK7 = YES.

java -version = OK(见下图). 在此输入图像描述

我甚至试图用控制台提示符编译代码.看错误: 在此输入图像描述

import javax.swing.JOptionPane;

public class SwitchDemo {
    public static void main(String[] args) {

        String name = "georges";

        switch (name.toLowerCase()) {


        case "Jhon":
            JOptionPane.showMessageDialog(null, "Good morning, Jhon!");
         break;
      case "georges":
             JOptionPane.showMessageDialog(null, "How's it going, georges?");
         break;
      case "sergei":
             JOptionPane.showMessageDialog(null, "sergei, my old sergei!");
          break;
      case "Steph":
             JOptionPane.showMessageDialog(null, "Afternoon lennert, how's the Steph?");
          break;
      default:
             JOptionPane.showMessageDialog(null, "Pleased to meet you, xxxxxx.");
           break;
   }

    }
}
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

java string switch-statement

-4
推荐指数
1
解决办法
2487
查看次数

标签 统计

java ×2

eclipse ×1

string ×1

switch-statement ×1