小编Mys*_*icϡ的帖子

如何设计一个可以是两种类型之一的对象?

我正在阅读HTTP POST,HTTP请求的主体可以是JSON或XML.现在我已将读取委托给一个特殊的实用程序类.

interface HttpUtils
{
    BodyWrapper parseBody( HttpServletRequest req );
}

interface BodyWrapper
{
    boolean isXML();  // 1
    boolean isJSON(); // 2
    String body();    // 3
}
Run Code Online (Sandbox Code Playgroud)
  • 我讨厌BodyWrapper有方法(1和2)来识别它的类型.也许我应该使用继承.如果我这样做,我将需要做一个instanceof来找出HttpUtils.parseBody(..)返回的内容
  • 理想情况下,我还希望body()方法返回JSONObject或DOM节点.我该怎么办?

java oop

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

Android - 列表视图中的所选项目位置

如何在多焦点列表视图中检索所选项目的位置?该getSelectedItemPosition方法仅返回第一个.

android listview

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

Java正则表达式:它有多常见?它使用了多少资源?

我有一个关于java和正则表达式的相当普遍的问题.

如果我们锁定嵌入式使用,比如使用J2ME或Android手机,那么包含正则表达式以及资源如何饥饿有多常见?

我的意思是正则表达式是一个强大的野兽,并且在后台完成了很多魔术以实现它.而我的问题是,是否有太多魔法?或者如果小心使用它是安全的(像大多数事情一样).


更新:感谢DigitalRoss指出java.util.regex是android的一部分.

java regex android java-me

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

这个堆栈转储是否表明我有死锁?

我有一个使用Jersey构建的REST服务.

当我对我的REST API执行"curl"时,该命令挂起.

我运行jstack&这是两个处于BLOCKED状态的线程的汇总输出.

"pool-2-thread-11" prio=6 tid=0x01d51800 nid=0x2394 
 waiting for monitor entry [0x05e6f000..0x05e6fce8]
java.lang.Thread.State: BLOCKED (on object monitor)
    at com.moi.DefaultImageProcessor$DownloadAndScaleCallable.call(
          DefaultImageProcessor.java:168)
    - waiting to lock <0x257aa440> 
     (com.moi.ImageUriMutexImpl$MutexImpl)
      at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
      at java.util.concurrent.FutureTask.run(FutureTask.java:138)
      at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
      at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
      at java.util.concurrent.FutureTask.run(FutureTask.java:138)
     at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(
        ThreadPoolExecutor.java:885)

"pool-2-thread-10" prio=6 tid=0x01d51000 nid=0x18d0
 waiting for monitor entry [0x05e1f000..0x05e1fd68]
java.lang.Thread.State: BLOCKED (on object monitor)
    at com.moi.DefaultImageProcessor$DownloadAndScaleCallable.call(
          DefaultImageProcessor.java:168)
    - waiting to lock <0x257aa6b8> 
     (com.moi.ImageUriMutexImpl$MutexImpl)
      at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
      at java.util.concurrent.FutureTask.run(FutureTask.java:138)
      at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
      at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
      at java.util.concurrent.FutureTask.run(FutureTask.java:138)
     at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(
        ThreadPoolExecutor.java:885)
Run Code Online (Sandbox Code Playgroud)

我想知道如何读取此堆栈转储.我应该在僵局中寻找什么迹象?

更新 …

java concurrency deadlock

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

为什么GetText方法返回空字符串

我写了以下内容,运行此代码后,它返回空字符串值.任何人都可以建议我解决这个问题吗?这里我使用了gettext()方法.它不检索链接名称.

我的代码是:

package Practice_pack_1;

import java.util.List;    

import org.openqa.selenium.By;    
import org.openqa.selenium.WebDriver;    
import org.openqa.selenium.WebElement;    
import org.openqa.selenium.firefox.FirefoxDriver;    
import org.testng.annotations.AfterTest;    
import org.testng.annotations.BeforeTest;    
import org.testng.annotations.Test;   

public class CheckingUncheckingCheckbox {
    WebDriver driver;
    @BeforeTest
    public void open()
    {
    driver=new FirefoxDriver();
    driver.navigate().to("http://openwritings.net/sites/default/files/radio_checkbox.html");
}
@AfterTest
public void teardown() throws InterruptedException
{
    Thread.sleep(3000);
    driver.quit();
}
@Test
public void CheckingChkbox() throws InterruptedException{  
    WebElement parent = driver.findElement(By.xpath(".//*[@id='fruits']"));
    List<WebElement> children = parent.findElements(By.tagName("input")); 
    int sz= children.size();
    System.out.println("Size is: "+sz);
    for (int i = 0; i <sz; i++) 
    {
        boolean check= children.get(i).isSelected();
        if(check==true)
        {
            System.out.println(children.get(i).getText()+ …
Run Code Online (Sandbox Code Playgroud)

java selenium-webdriver

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

在空闲Android后返回mainActivity

所以我们正在做一个创建Android应用程序的项目,我们已经完成但是因为我们有一些时间,所以我想实现一些额外的东西.有一件事我想实现,但我似乎无法找到任何地方是如何让应用程序在闲置一段时间后返回主要活动.时间,我打算让用户能够从设置中选择,但我想知道如何让这个功能先于其他任何工作.所有帮助赞赏.

android android-activity

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

在opencl内核函数中声明的全局变量的副本数量是在全局地址空间中维护的

我是Opencl编程的新手.为了更好地学习opencl,花了一些时间阅读一些教程后,我开始开发一个简单的模式匹配内核函数.但我有些疑惑:

首先,我在内核函数中声明了全局变量.这是否意味着每个工作项共享每个变量的单个副本?

其次,我如何使用标准C库,尤其是 "string.h中".

   __kernel void matchPatterns_V1(__global char *strings, __global char *patterns, __global int *matchCount,
                            int strCount, int strLength, int patCount, int patLength) {


    int id = get_global_id(0);
    int rowIndex = id*strLength;
    int i, matches = 0;     

    __global char *pos = strings;
    __global char *temp = strings;
    __global char *pat = patterns;

    for(i = 0; i < patCount; i++)
    {
            temp = &strings[rowIndex];      
            pat = &patterns[i*patLength];
            while(pos != '\0') {
                    pos = StrStr(temp, pat);
                    if(pos != '\0') {
                            matches++;
                            temp …
Run Code Online (Sandbox Code Playgroud)

parallel-processing opencl

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

"@gmail"附近的语法错误

我正在使用布尔函数创建登录活动,但是在匹配电子邮件地址与数据库中的电子邮件地址时会出错,但会出错

这是我的dbHandler类方法:

 public Boolean loginCheck(String email,String password)
{
    Boolean flag=false;
    String selectQuery = "SELECT  * FROM " + TABLE_NAME + " WHERE email=" + email +" AND pass="+password;

    SQLiteDatabase db = this.getReadableDatabase();
    Cursor cursor = db.rawQuery(selectQuery, null);
    // Move to first row
    cursor.moveToFirst();
    if(cursor.getCount() == 1){
      flag=true;
    }
    else
    {
      flag=false;
    }

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

这是java文件代码

login.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            String emailValue=edtEmail.getText().toString();//this is EditText
            String passValue=edtPass.getText().toString();

            if(db.loginCheck(emailValue, passValue)) …
Run Code Online (Sandbox Code Playgroud)

sqlite android login logcat android-activity

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