问题列表 - 第46638页

方便地在enum和int/String之间映射

当使用只能获取有限数量值的变量/参数时,我会尝试始终使用Java enum,如

public enum BonusType {
  MONTHLY, YEARLY, ONE_OFF
}
Run Code Online (Sandbox Code Playgroud)

只要我留在我的代码中,就可以了.但是,我经常需要与其他使用普通int(或String)值的代码进行交互以达到相同的目的,或者我需要从/向数据库读取/写入数据,其中数据存储为数字或字符串.

在这种情况下,我想有一个方便的方法将每个枚举值与一个整数相关联,这样我就可以双向转换(换句话说,我需要一个"可逆的枚举").

从枚举到int很容易:

public enum BonusType {
  public final int id;

  BonusType(int id) {
    this.id = id;
  }
  MONTHLY(1), YEARLY(2), ONE_OFF(3);
}
Run Code Online (Sandbox Code Playgroud)

然后我可以访问int值BonusType x = MONTHLY; int id = x.id;.

但是,我没有看到反向的好方法,即从int到enum.理想情况下,像

BonusType bt = BonusType.getById(2); 
Run Code Online (Sandbox Code Playgroud)

我能想出的唯一解决方案是:

  • 将查找方法放入枚举中,BonusType.values()用于填充映射"int - > enum",然后缓存并将其用于查找.会工作,但我必须将这个方法完全复制到我使用的每个枚举中:-(.
  • 将查找方法放入静态实用程序类中.然后我只需要一个"查找"方法,但我必须摆弄反射才能让它适用于任意枚举.

对于这样一个简单的(?)问题,这两种方法看起来都非常尴尬.

还有其他想法/见解吗?

java enums coding-style

107
推荐指数
5
解决办法
12万
查看次数

无法加载文件或程序集'System.Data.Entity

我在一个解决方案(一个笑话网站)内工作.该解决方案有2个项目:

  1. 模型(C#类库)
  2. MVC 3空应用程序

我试图让我的视图列出数据库中的笑话,但我收到以下错误:

无法加载文件或程序集'System.Data.Entity,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35'或其依赖项之一.该系统找不到指定的文件

从错误消息中可以看出,我已经将System.Data.Entity添加到MVC 3应用程序的web.config中.

无论我做什么,我似乎无法修复错误!我已经为Entity类添加了using语句,HomeController和Index.cshtml.

asp.net-mvc-3

16
推荐指数
2
解决办法
4万
查看次数

PHP测试,用于程序代码

有没有办法测试程序代码?我一直在看PHPUnit,这似乎是创建自动化测试的好方法.但是,它似乎面向面向对象的代码,是否有任何替代程序代码?

或者我应该在尝试测试网站之前将网站转换为面向对象?这可能需要一段时间,这是一个问题,因为我没有很多时间浪费.

谢谢,

丹尼尔.

php testing procedural phpunit

26
推荐指数
1
解决办法
5424
查看次数

使用Microsoft Visual Studio进行文本域特定语言(DSL)开发

我在视觉工作室开发了一些DSL.最初,我发现VS2010有一个可视化和建模SDK.它有一个名为DSL工具的工具.但它似乎只适用于图形DSL开发.

然后我看到一些帖子说"奥斯陆"是一个用于开发文本DSL的工具,它"是"微软产品 - 微软不再支持该工具.http://blogs.msdn.com/b/modelcitizen/archive/2010/09/22/update-on-sql-server-modeling-ctp-repository-modeling-services-quot-quadrant-quot-and-quot- M-quot.aspx

因此,我想知道我是否想开发一个文本DSL,哪种工具最好?如果我使用F#powerpack和FSLex和FSYacc实现DSL解析器,你怎么看?

dsl f# oslo dsl-tools visual-studio

9
推荐指数
2
解决办法
2975
查看次数

C String打印垃圾字符

#include <stdio.h>
#include <stdlib.h>
int main()
{
    char a[]="shevchenko ac milan";
printf("%s",&a);
}
Run Code Online (Sandbox Code Playgroud)

这是打印"shevchenko ac milan"

but 
#include <stdio.h>
#include <stdlib.h>
int main()
{
    char a[]="shevchenko ac milan";
printf("%s",&a+1);
}
Run Code Online (Sandbox Code Playgroud)

为什么这会打印垃圾字符?

c

2
推荐指数
1
解决办法
2340
查看次数

订购Unix时间戳DESC或ASC?

我有新闻项,在创建时将以unix时间戳格式创建日期/时间的时间添加到数据库中.如果我想按最近的顺序排序,我会在我的mysql查询中使用ASC或DESC吗?

编辑:

谢谢大家的回复.我现在知道了.我会让Sarfraz回答他接受的解决方案,因为他是第一个回复,但感谢其他人:).必须等待11分钟才能接受它作为解决方案.

mysql sql sql-order-by unix-timestamp

10
推荐指数
2
解决办法
2万
查看次数

如何将 MQ Server 回复消息与正确的请求相匹配

我正在连接到 IBM Websphere MQ。我希望能够将回复消息与正确的请求消息相匹配。我已经翻阅了数百页才能得到这个,但没有运气。

我有一个类 - MQHandler - 它将一条消息发送到一个定义的队列,并从另一个队列读取请求。这工作得很好,但是,如果多个用户同时使用该应用程序,消息就会混淆。

我似乎无法在接收器上找到一种方法来指示要匹配的 CorrelationID。就像是...

消费者.接收(选择器);

您可以检查以下方法以确保我正确执行此操作吗?

/**
 * When the class is called, this initialisation is done first.
 * 
 * @throws JMSException
 */
public void init() throws JMSException
{
    // Create a connection factory
    JmsFactoryFactory ff;
    try
    {
        ff = JmsFactoryFactory.getInstance( WMQConstants.WMQ_PROVIDER );
        cf = ff.createConnectionFactory();

        // Set the properties
        cf.setStringProperty( WMQConstants.WMQ_HOST_NAME, hostServer );
        cf.setIntProperty( WMQConstants.WMQ_PORT, 1414 );
        cf.setStringProperty( WMQConstants.WMQ_CHANNEL, channel );
        cf.setIntProperty( WMQConstants.WMQ_CONNECTION_MODE, WMQConstants.WMQ_CM_CLIENT );
        cf.setStringProperty( WMQConstants.WMQ_QUEUE_MANAGER, qManager );

        connection = cf.createConnection(); …
Run Code Online (Sandbox Code Playgroud)

queue websphere jms correlation ibm-mq

5
推荐指数
1
解决办法
1万
查看次数

servlet文件上传文件名编码

我使用Apache Commons Fileupload工具进行标准文件上传.我的问题是,如果上传文件包含特殊字符(á,é,ú等),我无法获得正确的文件名.它们都被转换为?迹象.

request.getCharacterEncoding()表示UTF-8,但我在字符串fileItem.getName()中得到的字节对于我所有的特殊字符都是相同的.

你能帮我解决什么问题吗?

(一些细节:在Windows上使用Firefox 3.6.12,Weblogic 10.3)

这是我的代码片段:

 public CommandMsg(HttpServletRequest request) {
    Enumeration names = null;
    if (isMultipart(request)) {
      FileItemFactory factory = new DiskFileItemFactory();
      ServletFileUpload upload = new ServletFileUpload(factory);
      try {
        List uploadedItems = upload.parseRequest(request);
        Iterator i = uploadedItems.iterator();
        FileItem fileItem = null;
        while (i.hasNext()) {
          fileItem = (FileItem) i.next();
          if (fileItem.isFormField()) {
            // System.out.println("isFormField");
            setAttribute(fileItem.getFieldName(), fileItem.getString());
          } else {
            String enc = "utf-8";
            enc = request.getCharacterEncoding();
            String fileName = fileItem.getName();
            byte[] fnb = fileItem.getName().getBytes();
            byte[] fnb2 = null; …
Run Code Online (Sandbox Code Playgroud)

java servlets file-upload character-encoding apache-commons

15
推荐指数
1
解决办法
2万
查看次数

儿童父母关系与继承

我对C全新.

  1. 在使用fork();?创建的子项中继承的进程项是什么?

  2. 与流程的父级不同的流程项有哪些?

c fork

8
推荐指数
2
解决办法
2万
查看次数

即使使用单个项目,也可以强制uiscrollview反弹滚动

我有一个UIScrollView包含不同数量的项目/子视图.如果有多个项目,则滚动弹跳可以正常工作.但是,有时滚动视图应该只有一个项目,我想向用户提供他们的滚动被识别的反馈 - 因此反弹效果.但是,UIScrollView仅使用一个项目禁用滚动.

iphone uiscrollview

10
推荐指数
1
解决办法
2849
查看次数