首先,Java 中没有“两种类型的 URI”:Java 中只有一种,EMF 中只有一种,EMF 是为建模而构建的框架。他们有自己的 URI 实现,因为这反映了他们自己的一个概念,或者他们需要的不仅仅是 Java 的 URI 所允许的,或者......这样的选择可能有很多原因,许多框架都提供了他们自己的这样的版本或此类(例如,在 Eclipse 中,使用ctrl++并键入“List”或“Array”)shift。T
至于实际问题,没有办法直接从 ajava.net.URI转到org.eclipse.emf.common.util.URI:您需要将 Java URI 转换为字符串,然后围绕该字符串创建一个新的 URI。像这样的东西:
java.net.URI javaURI = profileUrl.toURI();
org.eclipse.emf.common.util.URI emfURI = org.eclipse.emf.common.util.URI.createURI(javaURI.toString());
您需要使用至少两个 URI 之一的完全限定名称:您没有在 Java 类中导入的那个。从你的问题来看,我会说你已经导入org.eclipse.emf.common.util.URI,因此可以简单地使用这个:
java.net.URI javaURI = profileUrl.toURI();
URI emfURI = URI.createURI(javaURI.toString());