小编MBy*_*ByD的帖子

Java通用问题

下面的代码编译,但如果我取消注释注释行,它不会,我很困惑为什么.HashMap确实扩展了AbstractMap,并且声明map的第一行编译正常.

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

public class Test {

    public static void main(String args[]) {
        Map<String, ? extends AbstractMap<String, String>> map = new HashMap<String, HashMap<String, String>>();
        //map.put("one", new HashMap<String, String>());
    }
}
Run Code Online (Sandbox Code Playgroud)

而且,我知道"正确的方法"是这样的:

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

public class Test {

    public static void main(String args[]) {
        Map<String, Map<String, String>> map = new HashMap<String, Map<String, String>>();
        map.put("one", new HashMap<String, String>());
    }
}
Run Code Online (Sandbox Code Playgroud)

java generics inheritance types

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

连接nsstring并排除空值

我试图连接几个NSStrings,但想排除那些空值.我正在使用这个解决方案:

[NSString stringWithFormat:@"%@/%@/%@", three, two, one];
Run Code Online (Sandbox Code Playgroud)

但如果其中一个字符串为空呢?我想排除它.有任何想法吗?

谢谢.

iphone xcode objective-c nsstring ios

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

替换$中的字符串

我使用以下行删除给定数据"DATA"中的所有$符号和空格:

String temp_data = DATA.replaceAll("$", "").replaceAll(" ", "");
Run Code Online (Sandbox Code Playgroud)

但它不会删除$符号,只删除空格.有人知道为什么吗?

谢谢,Binyamin

java string

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

sqlite汇总值来自相同日期并返回1行

我正在编写一个存储锻炼日期和燃烧卡路里的Android应用程序.下面是我表中数据的示例:这是由以下内容返回的:

SELECT month, day, calories FROM workouts ORDER BY year ASC, month ASC, day ASC LIMIT 12;
Run Code Online (Sandbox Code Playgroud)
(month | day | calories)
3|2|714
3|3|945
3|4|630
3|10|446
3|16|396
3|20|255
3|22|108
3|23|112     
3|23|169
3|23|2160
Run Code Online (Sandbox Code Playgroud)

我为上面写的代码是:

  public Cursor getLastTwelveDays(){
  Cursor c;
  String[] s = {KEY_MONTH, KEY_DAY, KEY_CALORIES};
  String order = KEY_YEAR + " ASC, " + KEY_MONTH + " ASC, " + KEY_DAY + " ASC LIMIT 12" ;
  c = db.query(WORKOUT_TABLE, s, null, null, null, null, order);
  return c;
}
Run Code Online (Sandbox Code Playgroud)

我想将具有相同日期和月份的行组合成一行,如下所示:

3|2|714 …
Run Code Online (Sandbox Code Playgroud)

sql sqlite android

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

如何在TabHost中更改颜色

我正在使用TabHost合成器进行应用程序,标签显示默认颜色,是否有可能将默认颜色更改为我们自己的颜色.我从谷歌得到了一些想法,

tabHost.setOnTabChangedListener(new OnTabChangeListener(){
    @Override
    public void onTabChanged(String tabId) {
        // TODO Auto-generated method stub
         for(int i=0;i<tabHost.getTabWidget().getChildCount();i++)
            {
               tabHost.getTabWidget().getChildAt(i).setBackgroundColor(R.color.transparent); //unselected
            }
            tabHost.getTabWidget().getChildAt(tabHost.getCurrentTab()).setBackgroundColor(Color.parseColor("#000011")); // selected
    }
Run Code Online (Sandbox Code Playgroud)

每当我这样做,我得到强制关闭错误.如果有人想改变背景颜色,请引导我.

android

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

如何解读document.state == 12(iCloud)

每当我从iCloud加载UIDocument时,我会像这样检查它的状态:

NSLog(@"Library loadFromContents: state = %d", self.documentState);
Run Code Online (Sandbox Code Playgroud)

在某些情况下,我收到了导致崩溃的8号或12号文件.我现在想知道8和12究竟是什么代表什么.据我所知,documentState是一个位字段,因此它有许多不同的标志.该文件表明:

enum {
UIDocumentStateNormal          = 0,
UIDocumentStateClosed          = 1 << 0,
UIDocumentStateInConflict      = 1 << 1,
UIDocumentStateSavingError     = 1 << 2,
UIDocumentStateEditingDisabled = 1 << 3   }; 
typedef NSInteger UIDocumentState;
Run Code Online (Sandbox Code Playgroud)

但是,我不知道如何在我的情况下解释这一点.我如何找出8和12代表什么?

iphone objective-c ios5 icloud uidocument

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

Android Java,来自资源的位图

我在res/drawable文件夹中有我的图像,没有问题.问题是,我希望能够做到这样的事情:

Bitmap mBitmap = BitmapFactory.decodeResource(getResources(), R.drawable.*img[contar]*);
Run Code Online (Sandbox Code Playgroud)

换句话说,eclipse不允许我这样做img[contar]它只接受图像文件的特定名称(例如:crystalblue),我想让我们说从"crystalblue"转移到"crystalred"图像,在我的情况下我需要一个变量来做到这一点.

Obs:我确实将img声明为字符串数组.

任何解决方案?

android

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

如何在java中的运行时将jpanel表单添加到jpanel?

NewProductPanel pPanel=new NewProductJPanel();
pPanel.setVisible(true);
mainPanel.setLayout(new java.awt.BorderLayout());
mainPanel.add(pPanel);
Run Code Online (Sandbox Code Playgroud)

我已经创建了一个jPanel表单,我想将它动态添加到我的程序的mainJFrame中,我使用NetBeans..plz帮我解决这个问题.

java validation swing jpanel repaint

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

令牌" - "上的语法错误,AssignmentOperator无效

for (int iI = 4; iI > 0; iI--)
  faAmount[iI] - faAmount[iI - 1];
Run Code Online (Sandbox Code Playgroud)

这是它的代码.我该如何解决这个问题?

java math user-interface

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

从InputStream读取到byte []会抛出IndexOutOfBoundsException

我显然不知道问题出在哪里!首先我要求客户向我发送byte[]他要发送的长度,然后我读这个长度.

int i = 323292; // length of incoming Byte[]
byte[] b = new byte[i]; 
int readBytes=inputStream.read(b,0,b.length);
Run Code Online (Sandbox Code Playgroud)

但它始终保持阅读readBytes比我少.而且我确信客户端会发送整个邮件byte[].

我试着把它放在一个循环中,直到我读取的总字节数是i,但是在第二次迭代后我总是得到IndexOutOfBoundsException!这是代码

boolean flag = true;
int i = 323292;
int threshold = 0;
byte[] b = new byte[i];
int read = 0;
while (flag) {
    if (threshold < i) {
        System.out.println(threshold);
        try {
            read = inputStreamFromClient.read(b, threshold, b.length);
        } catch (IOException e1) {
            // TODO Auto-generated catch block
            e1.printStackTrace();
        }
        threshold = threshold + read;
    } else { …
Run Code Online (Sandbox Code Playgroud)

java sockets networking inputstream

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