问题列表 - 第40112页

什么是Java最佳实践来处理枚举

嗨,我认识Java很长一段时间,最近我一直深入Java世界.作为一名经验丰富的c#开发人员,我觉得使用Java枚举很奇怪.例如,如果我在控制台项目上显示如下:

public enum AdminOpertionFirstlayer 
{MANAGE_SUPPLY,
 MANAGE_CUSTOMERS_SERVICE,
 ORDERS_MANAGEMENT,
 REPORTING_OPRATIONES}
Run Code Online (Sandbox Code Playgroud)

我发现很难将它们写给用户,因为我必须定义新的变量

*AdminOpertionFirstlayer []adminOpertionFirstlayerArr =
     AdminOpertionFirstlayer.values();
Run Code Online (Sandbox Code Playgroud)

为了实现这个目标:

for (int i = 0; i < adminOpertionFirstlayerArr.length; i++) {
    String s = String.format("%d. %s",
                             i+1,
                             adminOpertionFirstlayerArr[i].toString());
    Screen.print(s);
}

AdminOpertionFirstlayer chosen= adminOpertionFirstlayerArr 
                                [(Integer.parseInt(dataIn.readLine()))-1];
Run Code Online (Sandbox Code Playgroud)

但我觉得申报*是不好的做法

  1. 有最佳实践(枚举扩展是一个...)?
  2. 是否有TryParse可用或每次解析时我应该尝试捕获?

谢谢

编辑

这样做是可以理解和可读吗?

  public enum MainMenuOptiones{

    ADMIN {public void secondLayerMenu(){
      Main.AdminSecondLayerMenu();}},

    CUSTOMER{public void secondLayerMenu(){
       Main.customerSecondLayerMenu();}},

    EXIT{public void secondLayerMenu(){
        System.exit(1);}},

    UNAPPLICABLE{public void secondLayerMenu(){
        Screen.printToScreen("chice doesnt exist  try again");}};

    abstract public void secondLayerMenu();
}
Run Code Online (Sandbox Code Playgroud)

phrphes而不是使用我可以使用的所有开关机制

 enumInstance.secondLayerMenu();
Run Code Online (Sandbox Code Playgroud)

java

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

您可以使用ExternalInterface.available来检查JavaScript是否已启用?

Flash具有ExternalInterface类,可以与浏览器中运行的JavaScript进行通信

您可以使用ExternalInterface.available属性来检查JavaScript是否已启用?

javascript flash installation integration actionscript-3

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

如何在mysql中找到自由世界城市数据库

有谁知道我在哪里可以找到开源世界城市数据库,其中包括:

  • 城市名称用不同的语言
  • 地区/州/省
  • 国家
  • IP地址范围
  • 经度和纬度

php mysql database

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

C#int存储在double"=="精度问题中

这是简化的代码:

int i = 1;
double a = i;
double b = i;
Run Code Online (Sandbox Code Playgroud)

保证a == b真的吗?

c# precision double int

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

在Mac OS X上安装Rmagick时出错

我跟着安装了RMagick for OSX: http ://rmagick.rubyforge.org/install-faq.html#osx

我已经完成了John MadduxImagemagick安装(在不使用MacPorts的情况下在OSX 上安装ImageMagick的解决方案)

这是我的终端窗口:

Suebphatt:~ suebphattleelertphong$ ruby -v
ruby 1.8.7 (2009-06-12 patchlevel 174) [universal-darwin10.0]

Suebphatt:~ suebphattleelertphong$ rails -v
Rails 3.0.3

Suebphatt:~ suebphattleelertphong$ gem -v
1.3.7

Suebphatt:~ suebphattleelertphong$ gem install rmagick
Building native extensions.  This could take a while...
ERROR:  Error installing rmagick:
ERROR: Failed to build gem native extension.

/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby extconf.rb
mkmf.rb can't find header files for ruby at /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/ruby.h


Gem files will remain installed …
Run Code Online (Sandbox Code Playgroud)

macos rmagick imagemagick ruby-on-rails-3

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

点网的开源替代方案

可能重复:
.net开源和运行平台选择

任何人都可以告诉我哪个是.NET的完美开源替代品.

.net open-source

0
推荐指数
1
解决办法
2477
查看次数

实体框架包含左连接是否可能?

我有以下表格

  1. ClassRoom(ClassID,ClassName)
  2. StudentClass(StudentID,ClassID)
  3. 学生(学生ID,学生姓名等)
  4. StudentDescription.(StudentDescriptionID,StudentID,StudentDescription)

我想检索有关student == 1的所有信息

在sql我会做类似下面的事情并获得有关学生的所有信息.

 select * from Student s
 join StudentClass sc on s.StudentID=sc.StudentID
 join ClassRoom c on sc.ClassID=c.ClassID
 left join StudentDescription sd on s.StudentID=sd.StudentID
 where s.StudentID=14
Run Code Online (Sandbox Code Playgroud)

现在我的问题.使用EF4我做了类似的事情,但无法使其工作.你也可以做一个包含和左连接

尝试1

private static StudentDto LoadStudent(int studentId)
    {
        StudentDto studentDto = null;
        using (var ctx = new TrainingContext())
        {
            var query = ctx.Students
                .Include("ClassRooms")
                .Include("StudentDescriptions")
                .Where(x=>x.StudentID==studentId)
                .SingleOrDefault();

            studentDto = new StudentDto();
            studentDto.StudentId = query.StudentID;
            studentDto.StudentName = query.StudentName;
            studentDto.StudentDescription = ??

        }

        return studentDto;
    }
Run Code Online (Sandbox Code Playgroud)

再次尝试2不完整和错误

using (var ctx …
Run Code Online (Sandbox Code Playgroud)

c# entity-framework left-join

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

如何使用顶部的关闭按钮加载UIWebView?

我目前有以下代码从另一个视图加载UIWebView.无论如何我现在有一个关闭按钮?

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {

    UIWebView *webView=[[UIWebView alloc] initWithFrame:CGRectMake(0,0,320,480)];
    [self.view addSubview:webView];
    NSURLRequest *urlRequest;
    NSURL *urlforWebView;
    urlforWebView=[NSURL URLWithString:@"http://www.google.com"];
    urlRequest=[NSURLRequest requestWithURL:urlforWebView];
    [webView loadRequest:urlRequest];

}
Run Code Online (Sandbox Code Playgroud)

我将加载使用jquery mobile构建的页面,因此页面内的关闭按钮也可以正常工作.但在导航栏上是理想的.顺便说一句,我的应用程序具有UINavigationBar的

iphone uiwebview uinavigationcontroller jquery-mobile

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

如何在linux(ubuntu)上获取视频捕获设备(网络摄像头)列表?(C/C++)

所以我需要的只是简单 - 当前可用的视频捕获设备(网络摄像头)列表.我需要在简单的C或C++控制台应用程序中.按列表我的意思是像这样的控制台输出:

1) Asus Web Camera
2) Sony Web Camera
Run Code Online (Sandbox Code Playgroud)

所以看起来很简单,但我有一个要求 - 尽可能使用本机操作系统api - 毕竟没有外部库 - 我们想要的就是打印出一个列表 - 不要飞到月球上!)

怎么办这样的事情?


也来自这个系列:

c c++ linux webcam device

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

如何制作"&nbsp;" 在chrome上的自动换行

这是我的代码:

<div id="a" style="position:absolute;top:300px;width:100px;height:100px;background:red;color:black;word-wrap:break-word;">
    <div id='a2' contenteditable=true >
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

这个代码在firefox中自动换行,但在chrome中我不能自动换行,

那么如何&nbsp;在chrome上进行自动换行?

谢谢

javascript firefox google-chrome

7
推荐指数
2
解决办法
6364
查看次数