小编W.K*_*K.S的帖子

setter方法有必要有一个参数吗?

setter方法有必要有一个参数吗?通常,setter方法接受一个参数作为Object的某个属性的值.如果我想首先测试依赖于另一个布尔值的参数的有效性,如果是,则首先验证,否则只需设置值.

我通过ftp服务器从客户端获取值.有时这些文件包含垃圾值.例如,#3432838#9等电话号码.所以在我设置值之前,我需要删除那些垃圾字符.我可以在setter方法中做到吗?这是一种有效的方法吗?

提前谢谢!

编辑:

这是有效的:

public void setSomething(String strValue){ 
     if(checkValidity(strValue)){ 
         // set the value 
     } else { 
         // set the value to an empty string
     }  
  }
Run Code Online (Sandbox Code Playgroud)

java setter

5
推荐指数
2
解决办法
5075
查看次数

在哪里可以学习Oberon以及可以使用什么IDE

我真的对学习Oberon有兴趣。我听说它具有独特的继承性和多态性,并且已经内置于GUI中(我喜欢GUI!)。

我希望能链接到一些文档(希望是简单的文档)和IDE /编译器。

谢谢。

oberon

5
推荐指数
0
解决办法
2098
查看次数

Qt样式表:如何将样式应用于菜单?如何消除QTextEdit周围的蓝色调?

我试图使菜单栏呈现渐变的黑色,除菜单标题外,它的工作正常.

这是我正在使用的样式表:

 QString styleSheet = "QMenuBar{background: qlineargradient(x1:0,x2:0,y1:0,y2:1,stop:0 #cccccc, stop:0.4 gray)} QStatusBar{background: qlineargradient(x1:0,x2:0,y1:0,y2:1,stop:0 #cccccc, stop:0.4 gray);color:white;} ";

this->setStyleSheet(styleSheet);
Run Code Online (Sandbox Code Playgroud)
  1. 我如何将风格应用于meny标题呢?
  2. 周围有一种蓝色调QTextEdit,我无法摆脱它.有没有办法将它设置为黑色?

谢谢 :)

样式表未应用于菜单项

qmenu qmenubar qt4.7 qtstylesheets

5
推荐指数
2
解决办法
9372
查看次数

org.apache.lucene.store.LockObtainFailedException:锁获取超时:

我正在尝试索引从 tomcat 服务器获取的大量日志文件。我编写了代码来打开每个文件,为每行创建索引,然后使用 Apache lucene 存储每行。所有这些都是使用多线程完成的。

当我尝试这段代码时,我得到了这个异常

org.apache.lucene.store.LockObtainFailedException: Lock obtain timed out:
Run Code Online (Sandbox Code Playgroud)

代码

  if (indexWriter.getConfig().getOpenMode() == IndexWriterConfig.OpenMode.CREATE)
        {
          // New index, so we just add the document (no old document can be there):
           System.out.println("adding " + path);

                indexWriter.addDocument(doc);

       } else {
          // Existing index (an old copy of this document may have been indexed) so 
       // we use updateDocument instead to replace the old one matching the exact 
           // path, if present:
            System.out.println("updating " + path);

                indexWriter.updateDocument(new Term("path", path), doc); …
Run Code Online (Sandbox Code Playgroud)

java lucene solr

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

Windows Phone 8.1应用程序在ShowShareUI()上崩溃

我正在尝试为我的Windows Phone应用添加共享功能.代码以不可预测的方式运行.有时它可以工作,但大多数情况下它没有,我无法获得有关导致崩溃的原因的任何细节.有人可以通过下面的代码告诉我,如果我错过了什么?谢谢!

public ArticlePage()
{
    this.InitializeComponent();
    //..
    RegisterForShare();
}

private void RegisterForShare()
{
    DataTransferManager dataTransferManager = DataTransferManager.GetForCurrentView();
    dataTransferManager.DataRequested += new TypedEventHandler<DataTransferManager,
        DataRequestedEventArgs>(this.ShareLinkHandler);
}

private void ShareLinkHandler(DataTransferManager sender, DataRequestedEventArgs e)
{
    DataRequest request = e.Request;
    DataRequestDeferral defferal = request.GetDeferral();

    request.Data.Properties.Title = this.article.Title;
    request.Data.Properties.Description = this.article.Summary;
    request.Data.SetWebLink(new Uri(this.article.UrlDomain));

    defferal.Complete();
}

private void ShareCommand_Click(object sender, RoutedEventArgs e)
{
        DataTransferManager.ShowShareUI();
}
Run Code Online (Sandbox Code Playgroud)

UPDATE

当我从visual studio调试时,代码总能正常工作,但绝不会这样.我做了一个发布版本,认为调试版本中可能有一些代码导致问题,但这没有任何区别.

c# windows-phone-8.1

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

在golang中创建同步列表

首先,如果这是一个愚蠢的问题,请原谅我。我想创建一个通用的同步列表(如 Java 中的)以便在我的 Go 项目中重用。我找到了 Go链表的来源,我想知道简单地将互斥锁添加到列表操作函数中是否就足够了?

concurrency go

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

将'NSError*const __strong*'发送到'NSError*__ autoreleasing*'类型的参数会更改指针的保留/释放属性

这个问题类似于ios NSError类型,但是那里描述的解决方案没有用,我相信它不是我需要的.

我有一个方法,它执行异步调用,然后调用完成块.当我尝试将NSError**传递给完成块时,我收到此错误:

将'NSError*const __strong*'发送到'NSError*__ autoreleasing*'类型的参数会更改指针的保留/释放属性

代码如下:

+(void) agentWithGUID:(NSString *) guid completion:(void (^)(AKAgentProfile * agentProfile, NSError ** error)) completionBlock
{
    dispatch_queue_t requestQueue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
    dispatch_async(requestQueue, ^{
        NSString * parameterizedUrl = [AKAgentProfileEndPoint stringByAppendingString:guid];
        NSURL *url = [NSURL URLWithString:parameterizedUrl];
        NSData *data = [NSData dataWithContentsOfURL:url];

        NSError * error = nil;

        AKAgentProfile * agentProfile = [[[AKAgentFactory alloc] init] agentProfileWithData:data error:&error];

        dispatch_async(dispatch_get_main_queue(), ^{
            completionBlock(agentProfile,&error);
        });

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

objective-c ios automatic-ref-counting

5
推荐指数
2
解决办法
3400
查看次数

无法使用 keycloak 创建新用户:403unknown_error

这个问题以前曾被问过,但没有一个解决方案对我有用。我创建了一个 bash 脚本来在我的密钥斗篷服务器上注册新用户。bash脚本如下所示:

#!/bin/sh
RESULT=$(curl -s --location --request POST 'http://localhost:8180/auth/realms/master/protocol/openid-connect/token' --header 'Content-Type: application/x-www-form-urlencoded' --data-urlencode 'grant_type=client_credentials' --data-urlencode 'client_id=admin-cli' --data-urlencode 'client_secret=12345678-12a3-1234-bc12-d12345678910');
TOKEN=$(echo $(echo "$RESULT" | jq .access_token))
TOKEN=$(echo "${TOKEN//\"}")
echo "$TOKEN\n\n"
USER=$(curl --location -v --request POST 'http://localhost:8180/auth/admin/realms/MyMarketplace/users' --header 'Content-Type: application/json' --header "Authorization: Bearer $TOKEN" --data-raw '{"enabled":"true", "username":"app-user"}');
echo $USER;
Run Code Online (Sandbox Code Playgroud)

当我运行此脚本时,我不断收到以下输出:

HTTP/1.1 403 Forbidden
< Connection: keep-alive
< X-XSS-Protection: 1; mode=block
< Strict-Transport-Security: max-age=31536000; includeSubDomains
< X-Content-Type-Options: nosniff
< X-Frame-Options: SAMEORIGIN
< Content-Type: application/json
< Content-Length: 25
< Date: Fri, 17 Jul 2020 …
Run Code Online (Sandbox Code Playgroud)

keycloak

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

Qt 框架中是否有与 Swing CardLayout 等效的东西?

我正在使用 Qt 框架设计一个应用程序,我想避免使用多个对话框,因为我认为打开多个对话框会变得混乱。我想知道 Qt 框架中是否有类似 Java 的 CardLayout 之类的东西。

谢谢你的帮助。

java qt cardlayout

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

Access-Control-Allow-Origin不允许使用origin http:// localhost.

我正在Node.JS中开发REST Web服务以使用骨干框架.我已经使用urlRoot定义了一个Person模型:http://localhost:3000/users我创建了一个请求处理程序,它在收到一个post请求时将该人添加到数据库中.

app.post('/users', user.add(db));

exports.add = function(db){
    return function(req,res){

        console.log(req.body);

        var name = req.body.name;
        var age = req.body.age;
        var sex = req.body.sex;
        var job = req.body.job;

        var peopleDb = db.get('people');

        peopleDb.insert({
            'name':name,
            'age':age,
            'sex':sex,
            'job':job
        },function(e,docs){
            if(e){
                console.log(e);
            }else
            {
                res.setHeader('Content-Type','application/json');
                res.setHeader('Access-Control-Allow-Origin','*');
                res.setHeader('Access-Control-Allow-Methods','GET,PUT,POST,DELETE');
                res.writeHead(200);
                res.end(JSON.stringify(docs));
            }
        });
    }
}
Run Code Online (Sandbox Code Playgroud)

当我尝试执行代码时,我在控制台中得到了这个:

Origin http://localhost is not allowed by Access-Control-Allow-Origin.

我从其他答案中读到添加标题:Access-Control-Allow-Origin:*并且Access-Control-Allow-Methods:GET,PUT,POST,DELETE会解决问题,但它对我没用.我也尝试将这些标题放在.htaccess文件中,但没有运气.

有人可以告诉我代码是否有问题或者是否有任何解决方案?

http-headers node.js backbone.js

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