dl861217 2010-07-14 15:31
浏览 268
已采纳

MyEclipse无法实现AutoBoxing/AutoUnBoxing问题

程序代码如下:

import java.util.HashMap;
import java.util.Map;

public class WordConstants {
private static Map typeNameValue=new HashMap();
static{
[color=red]typeNameValue.put("a", 1);
typeNameValue.put("an", 2);
typeNameValue.put("i", 3);
typeNameValue.put("j", 4);
typeNameValue.put("l", 5);
typeNameValue.put("Ng", 6);
typeNameValue.put("n", 7);
typeNameValue.put("nr", 8);
typeNameValue.put("ns", 9);
typeNameValue.put("nt", 10);
typeNameValue.put("nz", 11);
typeNameValue.put("v", 12);
typeNameValue.put("vm", 13);[/color] }
public static int getTypeByName(String _sName){
[color=blue]return typeNameValue.get(_sName);[/color] }
}

红色部分提示“The method put(String,Integer) in the type Map(String,Integer) is not applicable for the arguments(String,int)”
蓝色部分提示“Tye mismatch: cannot convert from Integer to int”
上段代码在命令行环境下运行却可顺利编译

在同样的MyEclipse环境下,不同的工程中,另一段相似代码却没有提示出错信息。相似代码如下:

package com.pureinfo.segword;

import java.util.HashMap;
import java.util.Map;

public class WordConstants {
/************************************************************/
// 常量定义部分 //
/************************************************************/
// public static int HL_CAL_OPT_KEYWORD = 0x1; //计算关键词附加标识
// public static int HL_CAL_OPT_FINGER = 0x2; //计算文章语义指纹标识
// public static int HL_CAL_OPT_POS = 0x4;//计算词性标识
// public static int HL_CAL_OPT_SEARCH = 0x8;//输出面向检索的分词结果

/************************************************************/
//          词性定义部分                                      //
/************************************************************/
public static final int NATURE_D_A = 0x40000000; // 形容词 形语素
public static final int NATURE_D_B = 0x20000000; // 区别词 区别语素
public static final int NATURE_D_C = 0x10000000; // 连词 连语素
public static final int NATURE_D_D = 0x08000000; // 副词 副语素
public static final int NATURE_D_E = 0x04000000; // 叹词 叹语素
public static final int NATURE_D_F = 0x02000000; // 方位词 方位语素
public static final int NATURE_D_I = 0x01000000; // 成语
public static final int NATURE_D_L = 0x00800000; // 习语
public static final int NATURE_A_M = 0x00400000; // 数词 数语素
public static final int NATURE_D_MQ = 0x00200000; // 数量词
public static final int NATURE_D_N = 0x00100000; // 名词 名语素
public static final int NATURE_D_O = 0x00080000; // 拟声词
public static final int NATURE_D_P = 0x00040000; // 介词
public static final int NATURE_A_Q = 0x00020000; // 量词 量语素
public static final int NATURE_D_R = 0x00010000; // 代词 代语素
public static final int NATURE_D_S = 0x00008000; // 处所词
public static final int NATURE_D_T = 0x00004000; // 时间词
public static final int NATURE_D_U = 0x00002000; // 助词 助语素
public static final int NATURE_D_V = 0x00001000; // 动词 动语素
public static final int NATURE_D_W = 0x00000800; // 标点符号
public static final int NATURE_D_X = 0x00000400; // 非语素字
public static final int NATURE_D_Y = 0x00000200; // 语气词 语气语素
public static final int NATURE_D_Z = 0x00000100; // 状态词
public static final int NATURE_A_NR = 0x00000080; // 人名
public static final int NATURE_A_NS = 0x00000040; // 地名
public static final int NATURE_A_NT = 0x00000020; // 机构团体
public static final int NATURE_A_NX = 0x00000010; // 外文字符
public static final int NATURE_A_NZ = 0x00000008; // 其他专名
public static final int NATURE_D_H = 0x00000004; // 前接成分
public static final int NATURE_D_K = 0x00000002; // 后接成分
public static final int NATURE_D_UN = 0x00000001; // 未知

private static Map<String, Integer> typeNameValue = new HashMap<String, Integer>();
static {
    typeNameValue.put("a", NATURE_D_A);
    typeNameValue.put("b", NATURE_D_B);
    typeNameValue.put("c", NATURE_D_C);
    typeNameValue.put("d", NATURE_D_D);
    typeNameValue.put("e", NATURE_D_E);
    typeNameValue.put("f", NATURE_D_F);
    typeNameValue.put("i", NATURE_D_I);
    typeNameValue.put("l", NATURE_D_L);
    typeNameValue.put("m", NATURE_A_M);
    typeNameValue.put("mq", NATURE_D_MQ);
    typeNameValue.put("n", NATURE_D_N);
    typeNameValue.put("o", NATURE_D_O);
    typeNameValue.put("p", NATURE_D_P);
    typeNameValue.put("q", NATURE_A_Q);
    typeNameValue.put("r", NATURE_D_R);
    typeNameValue.put("s", NATURE_D_S);
    typeNameValue.put("t", NATURE_D_T);
    typeNameValue.put("u", NATURE_D_U);
    typeNameValue.put("v", NATURE_D_V);
    typeNameValue.put("w", NATURE_D_W);
    typeNameValue.put("x", NATURE_D_X);
    typeNameValue.put("y", NATURE_D_Y);
    typeNameValue.put("z", NATURE_D_Z);
    typeNameValue.put("nr", NATURE_A_NR);
    typeNameValue.put("ns", NATURE_A_NS);
    typeNameValue.put("nt", NATURE_A_NT);
    typeNameValue.put("nx", NATURE_A_NX);
    typeNameValue.put("nz", NATURE_A_NZ);
    typeNameValue.put("h", NATURE_D_H);
    typeNameValue.put("k", NATURE_D_K);
    typeNameValue.put("un", NATURE_D_UN);
}

public static int getTypeByName(String _sName) {
    return typeNameValue.get(_sName);
}

}
迫切希望各位能帮忙解答,谢谢~

  • 写回答

4条回答 默认 最新

  • qinglangee 2010-07-14 16:27
    关注

    工程右键->properties->Java Compiler
    看右边compiler compliance level 是不是4.0
    是的话钩上上边的复选框,改成5.0或6.0

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 MapReduce结果输出到HBase,一直连接不上MySQL
  • ¥15 扩散模型sd.webui使用时报错“Nonetype”
  • ¥15 stm32流水灯+呼吸灯+外部中断按键
  • ¥15 将二维数组,按照假设的规定,如0/1/0 == "4",把对应列位置写成一个字符并打印输出该字符
  • ¥15 NX MCD仿真与博途通讯不了啥情况
  • ¥15 win11家庭中文版安装docker遇到Hyper-V启用失败解决办法整理
  • ¥15 gradio的web端页面格式不对的问题
  • ¥15 求大家看看Nonce如何配置
  • ¥15 Matlab怎么求解含参的二重积分?
  • ¥15 苹果手机突然连不上wifi了?