Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Url 将java.net.URI转换为org.eclipse.emf.common.util.URI_Url_Eclipse Plugin_Uri_Eclipse Emf_Emf - Fatal编程技术网

Url 将java.net.URI转换为org.eclipse.emf.common.util.URI

Url 将java.net.URI转换为org.eclipse.emf.common.util.URI,url,eclipse-plugin,uri,eclipse-emf,emf,Url,Eclipse Plugin,Uri,Eclipse Emf,Emf,Java中至少有两种类型的URI: java.net.URI org.eclipse.emf.common.util.URI 我有java.net.URI,需要使用EMF URI。如何将前者转换为后者 如果我尝试newuri=profileUrl.toURI(),我将收到如下消息: Type mismatch: cannot convert from java.net.URI to org.eclipse.emf.common.util.URI 我还尝试了一些变通方法,从java.net.

Java中至少有两种类型的URI:

  • java.net.URI
  • org.eclipse.emf.common.util.URI
我有
java.net.URI
,需要使用EMF URI。如何将前者转换为后者

如果我尝试
newuri=profileUrl.toURI()
,我将收到如下消息:

Type mismatch: cannot convert from java.net.URI to org.eclipse.emf.common.util.URI

我还尝试了一些变通方法,从
java.net.URI
创建一个字符串,并使用新字符串创建一个新的EMF URI。。。这会导致文件未找到异常。

首先,Java中没有“两种类型的URI”:Java中只有一种,EMF中有一种是为建模而构建的框架。他们有自己的URI实现,因为这反映了他们自己的一个概念,或者他们需要的比Java的URI允许的更多,或者。。。这样的选择可能有很多原因,许多框架都提供了自己版本的此类(在Eclipse中,使用ctrl+shift+T并键入“List”或“Array”作为示例)

至于实际问题,没有办法直接从
java.net.URI
org.eclipse.emf.common.util.URI
:您需要将java URI转换为字符串,然后围绕该字符串创建一个新的URI。大概是这样的:

Type mismatch: cannot convert from java.net.URI to org.eclipse.emf.common.util.URI
java.net.URI javaURI=profileUrl.toURI();
org.eclipse.emf.common.util.uriemfuri=org.eclipse.emf.common.util.URI.createURI(javaURI.toString());
您需要使用两个URI中至少一个的完全限定名:您没有在Java类中导入的URI。根据您的问题判断,我认为您已经导入了
org.eclipse.emf.common.util.URI
,因此可以简单地使用它:

java.net.URI javaURI=profileUrl.toURI();
URI emfURI=URI.createURI(javaURI.toString());